资讯专栏INFORMATION COLUMN

JavaScript 精粹 基础 进阶(2)表达式和运算符

beanlam / 1464人阅读

摘要:表达式是一种短语,可使解释器用来产生一个值。权威指南运算符三元运算符值为就会返回冒号前面的值,如果是就会取冒号右边的值。运算符运算符就是删除对象上的属性,变量,被删除了。运算符运算符是一元运算符,不管值是多少都会返回

转载请注明出处

原文连接 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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102504.html

相关文章

  • avaScript 精粹 基础 进阶(1)数据类型

    摘要:当完成访问后,这个临时对象会被销毁掉。对于判断对象类型的话,常用返回适合基本类型及检测,遇到失效。通过拿到,适合内置对象和基元类型,遇到和失效等返回。 转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698e54b8ea642ea9213f49 showImg(https://segmentfault.com/img/remote...

    blankyao 评论0 收藏0
  • 前端资源系列(4)-前端学习资源分享&前端面试资源汇总

    摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...

    princekin 评论0 收藏0
  • JavaScript语言精粹》内容精选

    摘要:最近在读语言精粹这本书,作者是是一名来自的资深架构师,以创建和维护格式而为大家所熟知。三元运算符有三个运算数。尝试从的成员属性中取值将会导致异常。这个过程称为委托。通过可取得它们所属对象的上下文的方法称为公共方法。 最近在读《JavaScript语言精粹》这本书,作者是 Douglas Crockford;Douglas Crockford是一名来自 Yahoo!的资深JavaScri...

    SimonMa 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<