1. 程式人生 > >javascript基礎知識點整理

javascript基礎知識點整理

作為後端程式設計師,由於現在很多開發都是前後端分離,對與js程式碼的接觸現在並不是很多,但還是需要理解一些js的基礎知識,現在將平常接觸到的js基礎知識整理下。

1.頁面載入時自動執行js的幾種方法。
1)js方法,寫在html的body標籤裡面呼叫

<html> 
    <body onload="load();">
    </body> 
</html>

2)js語句中呼叫

<script type="text/javascript">
    function myfun()   {    
        alert("this window.onload");   
    }   
    /*用window.onload呼叫myfun()*/ 
     
    // 不要括號
    window.onload = myfun;
</script>

3)onload方法

<script type="text/javascript">
    window.onload = function(){
        func1();
        func2();
        func3(); 
    }
</script>

 

2.js中的函式是可以巢狀使用的,比如

function a(){
    alert('test1');
    function b(){
        alert('test2');
    }
    function c(){
    alert('test3');
    }
    b();

    c();

}
a();

在函式a中又定義了兩個函式b和c,這在java中是不允許巢狀定義的。

 

3.兩種函式宣告有什麼區別?

var foo = function(){ 
    // Some code
}; 
function bar(){ 
    // Some code
}; 

我的理解,上面的函式可以看成時一個帶返回值的函式,而下面則時一個不帶返回值的函式

在實際執行的時候,實際會轉換為下面的程式碼:

// foo bar的定義位置被提升
function bar(){ 
    // Some code
}; 
var foo;

console.log(foo)
console.log(bar)

foo = function(){ 
    // Some code
}; 

4.javascript中的物件

JavaScript有3大物件,分別是本地物件內建物件宿主物件

  • 本地物件

    • 與宿主無關,獨立於宿主環境的ECMAScript實現提供的物件。
    • 簡單來說,本地物件就是 ECMA-262 定義的類(引用型別)。
    • 這些引用型別在執行過程中需要通過new來建立所需的例項物件。
    • 包含:ObjectArrayDateRegExpFunctionBooleanNumberString等。
  • 內建物件

    • 與宿主無關,獨立於宿主環境的ECMAScript實現提供的物件。
    • 在 ECMAScript 程式開始執行前就存在,本身就是例項化內建物件,開發者無需再去例項化。
    • 內建物件是本地物件的子集。
    • 包含:GlobalMath
    • ECMAScript5中增添了JSON這個存在於全域性的內建物件。
  • 宿主物件

    • 由 ECMAScript 實現的宿主環境提供的物件,包含兩大類,一個是宿主提供,一個是自定義類物件。
    • 所有非本地物件都屬於宿主物件。
    • 對於嵌入到網頁中的JS來說,其宿主物件就是瀏覽器提供的物件,瀏覽器物件有很多,如WindowDocument等。
    • 所有的DOMBOM物件都屬於宿主物件。

本地物件也經常被叫做原生物件或內部物件,包含Global和Math在內的內建物件在《JavaScript高階程式設計》裡也被叫做單體內建物件,很多時候,乾脆也會直接把本地物件和內建物件統稱為“內建物件”,也就是說除了宿主物件,剩下的都是ECMAScript的內部的“內建”物件。

 

5.javascript中的常見函式:

1).isNaN(X):函式用於檢查其引數是否是非數字值。簡單說,X為非數字型別的值時返回true,X為數字時返回false。

2)parseFloat函式將字串轉換成符點數字形式。 
3)parseInt函式:將符串轉換成整數數字形式(可指定幾進位制)。 

4)ceil函式:返回一個數字的最小整數值(大於或等於)。 

5)floor函式:返回一個數字的最大整數值(小於或等於)。 

6)round函式:返回一個數字的四捨五入值,型別是整數。 

7)toFixed() 方法可把 Number 四捨五入為指定小數位數的數字。

 

6.什麼是"JSON字串",什麼是"JSON物件",兩者的區別?

a.JSON物件是直接可以使用JQuery操作的格式,如C#中可以用物件(類名)點出屬性(方法)一樣
b.JSON字串僅僅只是一個字串,一個整體,不擷取的話沒辦法取出其中儲存的資料,不能直接使用,除非你只想alert();

JSON物件:

var str2 = { "name": "deluyi", "sex": "man" };
JSON字串:
var str1 = '{ "name": "deyuyi", "sex": "man" }';

參考:

https://segmentfault.com/a/1190000008785931

https://www.cnblogs.com/huiyuantang/p/5355690.html

https://www.cnblogs.com/cstao110/p/3762056.html