您好,登錄后才能下訂單哦!
轉載請注明出處
原文連接 http://blog.huanghanlian.com/article/5b698e88b8ea642ea9213f4a
JavaScript 表達式
表達式是指能計算出值得任何可用程序單元。——Wiki
表達式是一種JS短語,可使JS解釋器用來產生一個值。——《JS權威指南》
JavaScript 運算符
三元運算符
c ? a : b
var val = true ? 1 : 2; // val = 1
//val值為true就會返回冒號前面的值,如果是false就會取冒號右邊的值。
逗號運算符
a, b
var val = (1, 2, 3); // val = 3
//非常少見的,它會從左到右依次去計算表達式的值,最后會取最右邊的值。
delete 運算符
delete obj.x;
var obj = {x : 1};
obj.x; // 1
delete obj.x;
obj.x; // undefined
//delete 運算符就是刪除對象上的屬性,變量obj,obj.x被刪除了。
并不是對象上的所有屬性都可以成功的被delete 掉的。
var obj = {};
Object.defineProperty(obj, 'x', {
configurable : false,
value : 1
});
delete obj.x; // false
obj.x; // 1
只有configurable : true
, 為true,才可以被刪除。
in
運算符
window.x = 1; //創建全局變量x為1
x in window; // true 判斷是否win下有x
instanceof, typeof運算符
{} instanceof Object // true 判斷對象類型,基于原型鏈去判斷的
typeof 100 === ‘number’ // true 返回字符串,常用語原始類型,或者函數對象。
new運算符
function Foo(){}; //創建函數構造器,或者說創建空函數
Foo.prototype.x = 1; //prototype屬性x
var obj = new Foo(); //創建一個新的對象obj
obj.x; // 1 現在就能在prototype屬性x拿到1
obj.hasOwnProperty('x'); // false 來判斷這個屬性到底是這個對象上的還是這個對象原型鏈上,這個x當然不是屬于直接對象上的屬性,
obj.proto.hasOwnProperty('x'); // true 拿到對象原型。可以發現x是對象原型上的屬性,而不是這個對象本身上的屬性。
this運算符
this運算符; // window (瀏覽器) 在全局下this會指向win
var obj = {
func : function(){return this;}
};
obj.func(); // obj
//如果在對象值如果是個函數的話那么在這樣的函數里,this會指向對象本身。
void運算符
void運算符是一元運算符,
void 0 // undefined
void(0) // undefined
//不管值是多少都會返回undefined
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。