JS學習筆記(1) 數(shù)據(jù)類型,表達式,運算符,語句

一.數(shù)據(jù)類型

1.原始類型

number string boolean null undefined object 對象

2.隱式轉換

等于和嚴格等于

等于== 在類型不同時會嘗試轉換
嚴格等于===

3.包裝對象

4.類型檢測

方法:

1.typeof

typeof 100 "number"
typeof true "boolean"
typeof function "function"
typeof undefined "undefined"
typeof new object() "object"
typeof [1,2] "object"
typeof NaN "number" NaN 就是not number
typeof null "object"
遇到null失效

2.obj instanceof Object

[1,2]instanceof Array===true
new Object() instanceof Array===false
不同的window或ifeame中不可以使用

3.object.prototype.toString

Object.prototype.toString.apply([])==="[object Array]"
IE6,7有bug

4.constructor
5.duck type

二.表達式和運算符

1.表達式

原始表達式
數(shù)組表達式

new Array(1,2)
[1,2]
{X:1,y:2} var o = new Object();o.x=1;o.y=2;

函數(shù)表達式

var fe = function(){};

屬性訪問表達式

var o ={x:1}
o.x o['x']

調用表達式

func()

對象創(chuàng)建表達式

new Func(1,2)

2.運算符

條件運算符

var val=true?1:2 //val = 1

逗號運算符

var val =(1,2,3); //val = 3將逗號隔開的表達式都進行運算,然后取最右邊的值。

Delete運算符

delete obj.x; var obj = {x:1} obj.x; //1 delete obj.x; obj.x //undefined

in 運算符

window.x = 1; 'x' in window /true

instanceof,typeof運算符

{} instanceof Object //true
typeof 10===number

new運算符
this 運算符

this;//Windows(瀏覽器)
var obj =={ func:function(){return this;} }; obj.func();//obj

void 運算符

只會返回undefined;

運算符優(yōu)先級

三.語句和嚴格模式

語句

1.blick 塊語句 {}

用于組合0~多個語句。塊語句用一對花括號定義
沒有塊級作用域

2.var 聲明語句

var a=b=1; b會被聲明為全局變量
聲明多個變量使用逗號隔開
var a=1,b=1; Atom.lnk

3.try catch 語句

這是一個異常捕獲語句。
try{ throw "test"; }catch(ex){ console.log(ex);//test }finally{ console.log("finally") }
try 如果拋出異常就執(zhí)行catch。不管如何都執(zhí)行finally

4.function 語句

通過function定義函數(shù)對象 被稱為函數(shù)聲明
通過定義變量為函數(shù)表達式
函數(shù)前置(函數(shù)聲明被優(yōu)先處理)

5.for in 語句

var p; var obj={x:1,y:2} for(p in obj){ }
1.順序不確定
2.enumerablewei為false時不會出現(xiàn)
3.for in對象屬性時受原型鏈影響;

6.switch語句

break

7.循環(huán)語句 while do while for

8.with 語句

修改當前作用域
with({x:1}){ console.log(x); }
深層次調用
不建議使用
嚴格模式下禁用

嚴格模式

"use strict "

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容