JavaScript精粹基础进阶(2)表达式和运算符-创新互联

转载请注明出处

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都做网站、青浦网络推广、微信平台小程序开发、青浦网络营销、青浦企业策划、青浦品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供青浦建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

原文连接 http://blog.huanghanlian.com/article/5b698e88b8ea642ea9213f4a

表达式和运算符

JavaScript 表达式

表达式是指能计算出值得任何可用程序单元。——Wiki

表达式是一种JS短语,可使JS解释器用来产生一个值。——《JS权威指南》

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

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

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

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

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

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

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

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

JavaScript 运算符

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

三元运算符

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

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

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:JavaScript精粹基础进阶(2)表达式和运算符-创新互联
链接分享:http://azwzsj.com/article/dejhis.html