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
常量、直接量: 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
相关文章推荐
- JavaScript学习笔记——数据类型
- Javascript函数----操作DOM文档对象模型
- js代码的调试
- resumable.js —— 基于 HTML 5 File API 的文件上传组件 支持续传后台c#实现
- javascript 经典案例
- Javascript函数[实用案例--网页抽奖]
- Js打开新窗口拦截问题整理
- javascript练习题(六)
- Extjs插入图片
- Map (就一个json.jar)
- JavaScript 关键字
- JavaScript 关键字
- 在线压缩htmlcssjs地址
- JS实现选项卡
- js--引用类型Array--2.数组合并几种方法
- 深入理解JavaScript系列
- javascript的 replace() 方法的使用讲解
- JavaScript实现返回上一页面并刷新的小例子
- 最近改js学到的一些心得
- JavaScript学习总结(九)——Javascript面向(基于)对象编程