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來建立所需的例項物件。
- 包含:
Object
、Array
、Date
、RegExp
、Function
、Boolean
、Number
、String
等。
-
內建物件
- 與宿主無關,獨立於宿主環境的ECMAScript實現提供的物件。
- 在 ECMAScript 程式開始執行前就存在,本身就是例項化內建物件,開發者無需再去例項化。
- 內建物件是本地物件的子集。
- 包含:
Global
和Math
。 - ECMAScript5中增添了
JSON
這個存在於全域性的內建物件。
-
宿主物件
- 由 ECMAScript 實現的宿主環境提供的物件,包含兩大類,一個是宿主提供,一個是自定義類物件。
- 所有非本地物件都屬於宿主物件。
- 對於嵌入到網頁中的JS來說,其宿主物件就是瀏覽器提供的物件,瀏覽器物件有很多,如
Window
和Document
等。 - 所有的
DOM
和BOM
物件都屬於宿主物件。
本地物件也經常被叫做原生物件或內部物件,包含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