二十分鐘學會Javascript初級知識

二十分鐘學會Javascript初級語法,圖片來自網絡
Javascript基本用法
  1. Javascript代碼寫在<script>標簽內

    <script>
    //Javascript代碼寫在這里
    </script>
    
  2. Javascript代碼可以寫在body標簽內

    <body>
        <script>
        //Javascript代碼寫在這里
        </script>
    </body>
    
  3. Javascript代碼可以寫在<head>標簽內

    <head>
        <script>
        //Javascript代碼寫在這里
        </script>
    </head>
    
  4. Javascript代碼可以寫在外部的獨立js文件內

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

<body><head>標簽內的Javascript代碼是不同的,在<head>標簽內的JS代碼在頁面加載的時候就會運行,而在<body>內的JS代碼只有在需要的時候才會執行。一般會把多個頁面都是用到的JS代碼放到獨立的js文件中。

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

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

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

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

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

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

Javascript語句標識符

在Javascript中,也有類似于Java和C#等高級面向對象語法的語句標識符,主要有break/try...catch/continue/do...while/for/for..in/function/if...else/return/switch/throw/while/var

Javascript代碼折行

使用\\可以對JS代碼進行折行處理:

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

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

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

var c = b();    //調用函數
Javascript作用域
  1. 在Javascript中,對象和函數也是一種變量。
  2. 作用域是可訪問變量、對象和函數的集合。
  3. 函數作用域:作用域在函數內修改。
  4. 變量在函數內聲明,則其作用域為局部作用域。
  5. 全局變量有全局作用域,網頁中所有的腳本和網頁都可以使用。
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 構造器屬性
    "John".constructor                 // 返回函數 String()  { [native code] }
    (3.14).constructor                 // 返回函數 Number()  { [native code] }
    false.constructor                  // 返回函數 Boolean() { [native code] }
    [1,2,3,4].constructor              // 返回函數 Array()   { [native code] }
    {name:'John', age:34}.constructor  // 返回函數 Object()  { [native code] }
    new Date().constructor             // 返回函數 Date()    { [native code] }
    function () {}.constructor         // 返回函數 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 中,函數及變量的聲明都將被提升到函數的最頂部。變量可以在使用后聲明,也就是變量可以先使用再聲明
  2. JavaScript 初始化不會提升
函數提升(Hoisting)
  1. 提升(Hoisting)是 JavaScript 默認將當前作用域提升到前面去的的行為。
  2. 提升(Hoisting)應用在變量的聲明與函數的聲明。
JavaScript 嚴格模式(use strict)
  1. "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增
  2. 它不是一條語句,但是是一個字面量表達式,在 JavaScript 舊版本中會被忽略
  3. "use strict" 的目的是指定代碼在嚴格條件下執行。嚴格模式下你不能使用未聲明的變量。
href="#"與href="javascript:void(0)"的區別
  1. # 包含了一個位置信息,默認的錨是#top 也就是網頁的上端。
  2. javascript:void(0), 僅僅表示一個死鏈接。
  3. 在頁面很長的時候會使用 # 來定位頁面的具體位置,格式為:# + id
  4. 如果你要定義一個死鏈接請使用 javascript:void(0)
附錄 文章更新日志
2016-06-03 初稿
2016-06-06 修正文章中的錯別字
2016-06-22 修正文章中的一處筆誤
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容