(function(){})()

解释:()是最高级别的,一个匿名函数,加上一个马甲,就能立马飞起来。

匿名函数

那么什么是匿名函数?从字面上去解释很简单,没有名字的函数就叫做匿名函数。

举个栗子:我们平时定义函数是这样的:


function abs(){
    //code
}

也可以有带参数,有返回值:


function abc(a){
    return a;
}

那么下面我们来创建一个没有名字的函数:


function(){
    //code
}

继续阅读

一个小技巧,在做移动web站点的时候,可以用的到

全屏背景的设置如下:

code of css

html{
    background: #000 url("./bg.jpg") center center no-repeat;
    min-height:100%;
    background-size:cover;
}
body{
   min-height:100%:
}

另外,对于图片的自适应,我们可以这样对图片定义:

img{
    max-width:100%;
    max-height:100%;
}

然后在使用图片的时候,可以直接定义百分比即可。

js闭包浅理解

要理解闭包,得先知道js的变量作用域,在js中,有两种变量作用域:

  • 全局作用域
  • 局部作用域

一、在函数内可以访问全局变量

比如,下面的例子:

<script>
    var n = 100;
    function f1(){
        console.log(n);
    }
    f1()//返回100
</script>

继续阅读

JavaScript中的属性操作

一、原型链

在js中,任何一个对象都有一个prototype属性,在js中记做:proto

比如,我们创建一个对象:

var foo = {
    x:1,
    y:2
}

虽然看起来我们只为foo对象创建了两个属性,实际上,它还有一个属性proto,如图:

即使我们不定义proto,在js中也会预留一个属性。

如果我们定义一个空对象,foo

foo = function(){}
foo.prototype.z = 3;
var obj = new foo();
obj.x = 1;
obj.y =2;
//运行结果
obj //结果是:foo {x: 1, y: 2, z: 3}

继续阅读