您的位置:首页 > Web前端 > JavaScript

JavaScript学习笔记——表达式与运算符

2016-05-05 12:31 696 查看
原始表达式

常量、直接量: 3.14,"test"
关键字 : null,this,true
变量 :i,k,j

复合表达式

原始表达式 (运算符) 原始表达式 ====》 复合表达式

数组对象的初始化表达式

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

函数表达式

var fe = function(){};
(function(){console.log('hello world');})();

属性访问表达式

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

调用表达式

function();

对象创建表达式

new Func(1,2);
new Object;

运算符
一元运算符: +num
二元运算符: a+b
三元运算符: c?a : b

按功能:
赋值(+=)、比较(==)、算数(+/-)、位( | )、逻辑(&&)、字符串(+)、特殊(delete)

,表达式 (逗号表达式)
a,b;
var val = (1,2,3); //val = 3;
从左到右依次计算值,然后取最右侧的值
逗号运算符在JavaScript在的优先级是最底的

delete obj.x;

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

Object.defineProperty(obj,'z',{
configurable:false,
value:3
});

此时z就不能被删除了

in运算符

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

instanceof

{} instanceof Object //true
typeof 100 == 'number' //true

new 运算符

function Foo(){}
Foo.prototype.x = 1;
var obj = new Foo();
obj.x; //1
obj.hasOwnProperty('x'); //false 无法检查对象的原型链中是否有属性,必须是对象本身的一个成员
obj.__proto__.hasOwnProperty('x'); //true

this运算符

this; //window(浏览器)
var obj = {
func:function(){return this;}
};
obj.fun(); //obj

void运算符

void 0; //undefined
void(0); //undefined
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: