美文网首页编程Web前端之路让前端飞
JavaScript 精粹 基础 进阶(2)表达式和运算符

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

作者: 深沉的简单 | 来源:发表于2016-12-04 15:37 被阅读15次

表达式和运算符

JavaScript 表达式

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

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

图片.png 图片.png 图片.png 图片.png 图片.png 图片.png 图片.png 图片.png

JavaScript 运算符

图片.png

三元运算符

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
图片.png 图片.png

相关文章

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

    表达式和运算符 JavaScript 表达式 ** 表达式是指能计算出值得任何可用程序单元。——Wiki** 表达...

  • 前端心得

    1.基础阶段:HTML+CSS 2.js阶段:JavaScript基础、JavaScript进阶、JavaScri...

  • JavaScript 精粹 基础 进阶(3)语句

    语句 语句、严格模式 JavaScript程序由语句组成,语句遵守特定的语法规则。例如:if语句, while语句...

  • JavaScript 精粹 基础 进阶(4)对象

    对象中包含一系列属性,这些属性是无序的。每个属性都有一个字符串key和对应的value。 JavaScript 对...

  • JavaScript 精粹 基础 进阶(5)数组

    数组是值的有序集合。每个值叫做元素,每个元素在数组中都有数字位置编号,也就是索引。JS中的数组是弱类型的,数组中可...

  • js5-11

    javascript第三章 1、运算符和表达式 1.三目运算符(三元运算符) 2、函数 1.函数:funct...

  • JavaScript中的==和===

    关系表达式 ==和===都是JavaScript中的关系表达式运算符,与对应的还有!=和!==。 ==和===运算...

  • 进阶篇:JS运算符 (3)

    饥人谷学习进阶第 3 天 JavaScript中运算符主要用于连接简单表达式,组成一个复杂的表达式。常见的有算数表...

  • Java基础恢复(待完善)

    1. 环境配置(MAC) 2. 基础 标识符 常量与变量 常量 变量 运算符和表达式 运算符 表达式 数据类型 4...

  • 技术栈

    一、HTML、CSS基础、JavaScript语法基础。 二、JavaScript语法进阶。包括:作用域和闭包、t...

网友评论

    本文标题:JavaScript 精粹 基础 进阶(2)表达式和运算符

    本文链接:https://www.haomeiwen.com/subject/ppuhmttx.html