标签 js 下的文章

2014
10-15

Javascript闭包剖析(通俗易懂)

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。


一、变量的作用域

要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。

    var n=999;
    function f1(){
        alert(n);
    }
    f1(); // 999

若是PHP语言中,则需要对变量进行全局化:

    $n = 999;
    function f1(){
        var_dump($n);
    } 
    f1(); //NULL
    $n = 999;
    function f1(){
        global $n;
        var_dump($n);
    }
    f1(); //999
查看全文 >
2014
09-23

node.js向ejs模板发送数据的两种方式

e.js中向ejs模板发送数据有以下两种方法:

方法一、
javascript res.render('viewName',{name1:'value1', name2:'value2',...});

语法:
javascript res.render(view, [locals], callback);

说明:
    view:为模板文件名
    locals:为模板中所有变量的key-value的JSON数据
    callback:为回调函数

弊端:此方法在给模板赋值时,必须一次性将模板里的所有变量都传值,否则会报错。


查看全文 >
2013
07-12

JS函数设置参数默认值

在JS函数中设置参数的默认值不能像PHP中的语法一样:

function test(a='aa', b='bb'){

}

这种设值在JS中非法的。

那么在JS的函数中要如何设置参数的默认值呢?
具体方法如下:

function test(a, b){
    a = typeof a == 'undefined' ? '默认值aa' : a;
    b = typeof b == 'undefined' ? '默认值bb' : b;
}
查看全文 >
微信扫一扫