Animal = function(age){
this.age =age
}
var animal = new Animal(26);
i = 1; 全局变量 //全局变量污染
var i =1;局部变量
== 值相等
=== 严格相等
true == 1;true !==1;
false == 0;false !==0;
null == undefinded; null !== undefinded;
NaN和谁都不等,和自己也不等.
var maxWidth = 0;
var obj ={x:0};
var position = maxWindth||obj.x||NaN||200; //200 0,null,undefinded,",NaN(不合法)
对任意东西取两次非,就会收获一个布尔值。//如果原来的对象非空,最终为true,否则为false.
var obj ={10:"你好"};alert(obj["10"]); //你好
instanceOf/typeof(原生的Js类型)
delete
var obj ={};
obj.name="test";
obj['name'];
var obj ={name:"momo",age:26};
var result ="";
for(var p in obj){
result +=p+"-->"+obj[p]+"\n";
}
name-->momo
age-->age
(function(){alert('会自动执行的function')})();
/**
* 匿名函数
*/
(function(param){
alert(param);
})(5);
/*
实际参数 :5
形式参数 :param
*/
js的闭包
在函数内部定义的函数在外部使用的现象
意义:
安全,将不能修改的东西封装到闭包中
/*闭包实现了函数的公开化和私有化*/
/**
* 匿名函数
* 在函数的内部定义的函数,在外部是没有办法访问的
*/
(function(){
function Person(){
return {//讲需要的公开的方法对外公开,返回的是json对象
setName:setName,
setSex:setSex,
getName:getName,
getSex:getSex
}
}
/**
* 公开的方法
*/
function setName(name){
this.name=name;
}
/**
* 公开的方法
*/
function setSex(sex){
this.sex=sex;
}
/**
* 公开的方法
*/
function getName(){
return this.name;
}
/**
* 公开的方法
*/
function getSex(){
return this.sex;
}
/**
* 私有的函数,不对外公开
*/
function protectedMethod(){
alert("--------");
}
window.Person=Person;//window对象动态添加属性,讲Person对象赋值给之
})();
var p=window.Person();
p.setName("Dree");
p.setSex('mail');
alert(p.getName());
alert(p.getSex());
var a = 0;
var fn =(a=10,function(){alert(10*a);});
fn();//100
this.age =age
}
var animal = new Animal(26);
i = 1; 全局变量 //全局变量污染
var i =1;局部变量
== 值相等
=== 严格相等
true == 1;true !==1;
false == 0;false !==0;
null == undefinded; null !== undefinded;
NaN和谁都不等,和自己也不等.
var maxWidth = 0;
var obj ={x:0};
var position = maxWindth||obj.x||NaN||200; //200 0,null,undefinded,",NaN(不合法)
对任意东西取两次非,就会收获一个布尔值。//如果原来的对象非空,最终为true,否则为false.
var obj ={10:"你好"};alert(obj["10"]); //你好
instanceOf/typeof(原生的Js类型)
delete
var obj ={};
obj.name="test";
obj['name'];
var obj ={name:"momo",age:26};
var result ="";
for(var p in obj){
result +=p+"-->"+obj[p]+"\n";
}
name-->momo
age-->age
(function(){alert('会自动执行的function')})();
/**
* 匿名函数
*/
(function(param){
alert(param);
})(5);
/*
实际参数 :5
形式参数 :param
*/
js的闭包
在函数内部定义的函数在外部使用的现象
意义:
安全,将不能修改的东西封装到闭包中
/*闭包实现了函数的公开化和私有化*/
/**
* 匿名函数
* 在函数的内部定义的函数,在外部是没有办法访问的
*/
(function(){
function Person(){
return {//讲需要的公开的方法对外公开,返回的是json对象
setName:setName,
setSex:setSex,
getName:getName,
getSex:getSex
}
}
/**
* 公开的方法
*/
function setName(name){
this.name=name;
}
/**
* 公开的方法
*/
function setSex(sex){
this.sex=sex;
}
/**
* 公开的方法
*/
function getName(){
return this.name;
}
/**
* 公开的方法
*/
function getSex(){
return this.sex;
}
/**
* 私有的函数,不对外公开
*/
function protectedMethod(){
alert("--------");
}
window.Person=Person;//window对象动态添加属性,讲Person对象赋值给之
})();
var p=window.Person();
p.setName("Dree");
p.setSex('mail');
alert(p.getName());
alert(p.getSex());
var a = 0;
var fn =(a=10,function(){alert(10*a);});
fn();//100