二十分鐘學(xué)會Javascript初級知識

二十分鐘學(xué)會Javascript初級語法,圖片來自網(wǎng)絡(luò)
Javascript基本用法
  1. Javascript代碼寫在<script>標(biāo)簽內(nèi)

    <script>
    //Javascript代碼寫在這里
    </script>
    
  2. Javascript代碼可以寫在body標(biāo)簽內(nèi)

    <body>
        <script>
        //Javascript代碼寫在這里
        </script>
    </body>
    
  3. Javascript代碼可以寫在<head>標(biāo)簽內(nèi)

    <head>
        <script>
        //Javascript代碼寫在這里
        </script>
    </head>
    
  4. Javascript代碼可以寫在外部的獨(dú)立js文件內(nèi)

    <head>
        <script src="xxx.js"></script>
    </head>
    

<body><head>標(biāo)簽內(nèi)的Javascript代碼是不同的,在<head>標(biāo)簽內(nèi)的JS代碼在頁面加載的時(shí)候就會運(yùn)行,而在<body>內(nèi)的JS代碼只有在需要的時(shí)候才會執(zhí)行。一般會把多個(gè)頁面都是用到的JS代碼放到獨(dú)立的js文件中。

Javascript顯示數(shù)據(jù)的方法
  1. 使用彈出框window.alert()或者alert()方法。其中,window是Javascript的一個(gè)內(nèi)置對象,可省略不寫。
  2. 使用document.write()方法直接寫入html源碼。
  3. 使用console.log()方法將調(diào)試信息打印到瀏覽器控制臺。
Javascript字面量
//數(shù)字字面量(Number)
var a = 3.14;           //浮點(diǎn)數(shù)
var b = 1;              //整數(shù)
var c = 13e5;           //科學(xué)計(jì)數(shù)法

//字符串字面量(String)
var d = 'string';       //字符串
var e = "string";       //字符串

//數(shù)組和對象字面量(Array & Object)
var f = [1,2,3];        //數(shù)組
var g = {a:"a",b:"b"}   //對象

//函數(shù)字面量(Function)
var h = function(){};   //函數(shù)
Javascript變量
<script>
   var a = 1;          //這是一個(gè)全局變量
   b = 2;              //這是一個(gè)全局變量

   function f(){
      var c = 3;       //這是一個(gè)局部變量
      d = 4;           //這是一個(gè)全局變量
   }
</script>

注意,沒有使用var關(guān)鍵字標(biāo)識的字段都是全局變量,使用了var關(guān)鍵字標(biāo)識的變量如果在方法內(nèi)聲明,則為局部變量,否則也為全局變量,主要觀測其所在的作用域。

Javascript語句標(biāo)識符

在Javascript中,也有類似于Java和C#等高級面向?qū)ο笳Z法的語句標(biāo)識符,主要有break/try...catch/continue/do...while/for/for..in/function/if...else/return/switch/throw/while/var

Javascript代碼折行

使用\\可以對JS代碼進(jìn)行折行處理:

document.write('hello \
world');
Javascript注釋語法
  1. 使用//進(jìn)行單行注釋
  2. 使用/* ... */進(jìn)行多行注釋
Javascript數(shù)據(jù)類型
  1. 字符串(String)類型
  2. 數(shù)字(Number)類型
  3. 布爾(Boolean)類型
  4. 數(shù)組(Array)類型
  5. 對象(Object)類型
  6. 空(Null)類型
  7. 未定義(Undefined)類型
Javascript對象
var obj = {         //創(chuàng)建對象
    a:"a",
    b:"b",
    c:2,
    method:function(){}
}

var d = obj.a;          //訪問對象屬性
var e = obj.b;
var f = obj.method;     //訪問對象方法
Javascript函數(shù)
function a(){   //無返回值函數(shù)
    //...
}

function b(){   //有返回值的函數(shù)
    return 1;
}

var c = b();    //調(diào)用函數(shù)
Javascript作用域
  1. 在Javascript中,對象和函數(shù)也是一種變量。
  2. 作用域是可訪問變量、對象和函數(shù)的集合。
  3. 函數(shù)作用域:作用域在函數(shù)內(nèi)修改。
  4. 變量在函數(shù)內(nèi)聲明,則其作用域?yàn)榫植孔饔糜颉?/li>
  5. 全局變量有全局作用域,網(wǎng)頁中所有的腳本和網(wǎng)頁都可以使用。
Javascript事件
<some-HTML-element some-event='some JavaScript'>
<some-HTML-element some-event="some JavaScript">

常用的HTML事件有:onchange/onclick/onmouseover/onmouseout/onkeydown/onload

絕對等于和絕對不等于
  1. ===表示絕對等于(值和類型都相等)
  2. !==表示絕對不等于(值或類型不相等)
遍歷對象的屬性
var person = {name:"Anderson",age:25}
for(x in person){
   txt = txt + person[x];
}
Javascript typeof操作符
    typeof "Anderson"    //返回string
    typeof 3.14          //返回number
    typeof false         //返回boolean
    typeof [1,2,3,4]     //返回object

    var a;
    typeof a             //返回undefined

    a = null;
    typeof a             //返回null

    typeof undefined             // undefined
    typeof null                  // object
Javascript 構(gòu)造器屬性
    "John".constructor                 // 返回函數(shù) String()  { [native code] }
    (3.14).constructor                 // 返回函數(shù) Number()  { [native code] }
    false.constructor                  // 返回函數(shù) Boolean() { [native code] }
    [1,2,3,4].constructor              // 返回函數(shù) Array()   { [native code] }
    {name:'John', age:34}.constructor  // 返回函數(shù) Object()  { [native code] }
    new Date().constructor             // 返回函數(shù) Date()    { [native code] }
    function () {}.constructor         // 返回函數(shù) Function(){ [native code] }

    function isArray(myArray) {
        return myArray.constructor.toString().indexOf("Array") > -1;

    function isDate(myDate) {
        return myDate.constructor.toString().indexOf("Date") > -1;
    }
}
JavaScript 變量提升
  1. JavaScript 中,函數(shù)及變量的聲明都將被提升到函數(shù)的最頂部。變量可以在使用后聲明,也就是變量可以先使用再聲明
  2. JavaScript 初始化不會提升
函數(shù)提升(Hoisting)
  1. 提升(Hoisting)是 JavaScript 默認(rèn)將當(dāng)前作用域提升到前面去的的行為。
  2. 提升(Hoisting)應(yīng)用在變量的聲明與函數(shù)的聲明。
JavaScript 嚴(yán)格模式(use strict)
  1. "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增
  2. 它不是一條語句,但是是一個(gè)字面量表達(dá)式,在 JavaScript 舊版本中會被忽略
  3. "use strict" 的目的是指定代碼在嚴(yán)格條件下執(zhí)行。嚴(yán)格模式下你不能使用未聲明的變量。
href="#"與href="javascript:void(0)"的區(qū)別
  1. # 包含了一個(gè)位置信息,默認(rèn)的錨是#top 也就是網(wǎng)頁的上端。
  2. javascript:void(0), 僅僅表示一個(gè)死鏈接。
  3. 在頁面很長的時(shí)候會使用 # 來定位頁面的具體位置,格式為:# + id
  4. 如果你要定義一個(gè)死鏈接請使用 javascript:void(0) 。
附錄 文章更新日志
2016-06-03 初稿
2016-06-06 修正文章中的錯(cuò)別字
2016-06-22 修正文章中的一處筆誤
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容