node.js依赖的 JavaScript基础 函数

文章标签: node.js
2014-12-12 9:13:11     7 人阅读    

在JavaScript中,函数最为重要。
       它们都属于一等函数:可以作为引用存储在变量中,随后可以像其他对象一样,进行传 递:
var a = function {) {}
将函数作为参数传递
JavaScript中所有的函数都可以进行命名。有一点很重要,就是要能区分出函数名和变量名。

var a = function a () {
'function' == typeof a; // true
};


THIS、FUNCTION#CALL以及FUNCTION#APPLY
下述代码中函数被调用时,this的值是全局对象。在浏览器中,就是window对象:

function a () {
window == this; // true;
};
a{);


调用以下函数时,使用.call和.apply方法可以改变this的值:

function a () {
this.a == 'b'; // true
}
a.call({ a: 'b' });

call和apply的区别在于,call接受参数列表,而apply接受一个参数数组:

function a (b, c) { b == * first1; // true c == 'second'; // true
}
a.call({ a: 'b' }, 'first1, 'second') a.apply({ a: 'b' }, ['first', 'second,]);


函数的参数数量
函数有一个很有意思的属性一一参数数量,该属性指明函数声明时可接收的参数数量。在 JavaScript中,该属性名为length:

var a = function (a, b, c); a.length == 3; // true


尽管这在浏览器端很少使用,但是,它对我们非常重要,因为一些流行的Node.js框架就 是通过此属性来根据不同参数个数提供不同的功能的。
闭包
在JavaScript中,每次函数调用时,新的作用域就会产生。
在某个作用域中定义的变量只能在该作用域或其内部作用域(该作用域中定义的作用域) 中才能访问到:

var a = 5;
function woot () {
a == 5; // true
var a = 6;
function test (} { a == 6; // true
>
test{);
}?
woot{);


自执行函数是一种机制,通过这种机制声明和调用一个匿名函数,能够达到仅定义一个新 作用域的作用。
var a = 3;
(function () {
var a =5;
自执行函数对声明私有变量是很有用的,这样可以让私有变量不被其他代码访问。

JavaScript中没有class关键词。类只能通过函数来定义:
function Animal () { }
要给所有Animal的实例定义函数,可以通过prototype属性来完成:

Animal.prototype.eat = function (food) {
// eat method
}


这里值得一提的是,在prototype的函数内部,this并非像普通函数那样指向global对象, 而是指向通过该类创建的实例对象:

function Animal (name) { this.name = name;
}
Animal.prototype.getName () {
return this.name;
};
var animal = new Animal (' tobi '); argetName() == 1tobi,; // true


原文地址:http://www.itmmd.com/201412/303.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android学习笔记(19)开关按钮(ToggleButton )的 功能与用法   上一篇
下一篇  android学习笔记(18)单选接钮(RadioButton )和复选框(CheckBox )介绍与启用

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!