JavaScript深入浅出-表达式和运算符

表达式是能计算出值的任何业务单元。
原始表达式:常量,直接量、关键字、变量
原始表达式和原始表达式可以通过运算符链接成符合表达式
函数表达式:
属性访问表达式:对定义好的表达式的属性进行访问
调用表达式:调用函数,等
堆箱创建表达式:

运算符

常用于表达式之间进行运算
三元运算符

1
var a = c ? a : b;

delete运算符,删除对象。但是当定了了对象的configurable时,是无法删除的。

1
2
3
4
5
6
var obj = {}'
Object.defineProperty(obj,"x",{
configurable: false,value: 1}
);
delete obj.x; //false
obj.x; //1

in 运算符

1
2
window.x = 1;
"x" in window; //true;

instanceof tyoeof运算符

1
2
{} instanceof Object;  //true
typeof 100 === 'number'; //true

new 运算符

1
2
3
4
5
6
7
function Foo(){
Foo.prototype.x = 1;
var obj = new Foo();
obj.x;
obj.hasOwnProperty("x"); //判断x是不是属于自己的对象
obj._proto_.hasOwnProperty("x"); //判断是不是原型中的对象
}

this 运算符
void 运算符
var 语句
当使用循环时,循环使用的变量i在循环结束后仍然可以调用,即它为全局变量。

1
2
3
4
5
for (var i = 0; i < 5; i++) {
console.log(i); //0 1 2 3 4
}
console.log("-------------") //-------------
console.log(i); //5

当我们使用var a = b = 0来进行变量定义时,如果在局部变量中进行这样的定义,请注意,定义出的b = 0是全局变量。

1
2
3
4
5
function() {
var a = b = 0;
console.log(a + "," + b); //0,0
}
console.log(b); //0

try-catch 语句
对方不想和你说话,并想向你抛出一段异常。
`
try{
try{
throw new Error(“oops”);
}
finally{
console.log(“finally”);
}
}
catch(ex){
console.error(“outer”,ex.message);
}

文章目录
  1. 1. 运算符
|