Js base

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







你可能感兴趣的:(js)