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

发布时间:2020-08-05 05:43:07 作者:huanghanzhilian
来源:网络 阅读:171

转载请注明出处

原文连接 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)表达式和运算符

推荐阅读:
  1. JavaScript基础
  2. JavaScript 精粹 基础 进阶(8)OOP面向对象编程(上)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jsjs深入浅出 avascript ava

上一篇:python 之简单模拟银行系统功能(卡号申请、还款、支付、取现)

下一篇:学习编程,python和GO语言应该选择哪一个?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》