龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

JavaScript极简入门教程(二):对象和函数(3)

时间:2014-10-30 02:00来源:网络整理 作者:网络 点击:
分享到:
复制代码 代码如下: // Test 被叫做构造函数 var Test = function(string) { this.message = string; } var myTest = new Test("Hello World"); 一个函数前面可以加上 new 来调用(这样

复制代码 代码如下:

// Test 被叫做构造函数
var Test = function(string) {
    this.message = string;
}
 
var myTest = new Test("Hello World");

一个函数前面可以加上 new 来调用(这样的函数通常大写开头),加上 new 之后将创建一个链接到此函数的 prototype 属性的对象,且构造函数中 this 为此对象。

4.apply 调用模式。函数的 apply 方法被用于调用函数,其有两个参数,第一个为 this,第二个为参数数组,例如:

复制代码 代码如下:

var add = function(a, b) {
    return a + b;
}
 
var ret = add.apply(null, [3, 4]); // ret === 7

函数调用时,我们能够访问一个名为 arguments 的类数组(非真正的 JavaScript 数组),其包含了所有的实参,这样我们就能实现变长参数:

复制代码 代码如下:

var add = function() {
    var sum = 0;
    for (var i=0; i<arguments.length; ++i) {
        sum += arguments[i];
    }
    return sum;
}
 
add(1, 2, 3, 4);

异常

现在来说说 JavaScript 的异常处理机制。我们使用 throw 语句来抛出异常,try-cache 语句来捕获并处理异常:

复制代码 代码如下:

var add = function (a, b) {
    if (typeof a !== 'number' || typeof b !== 'number') {
        // 抛出异常
        throw {
            name: 'TypeError',
            message: 'add needs numbers'
        };
    }
    return a + b;
}
 
// 捕获并处理异常
try {
    add("seven");
// e 为抛出的异常对象
} catch (e) {
    console.log(e.name + ': ' + e.message);
}

为JavaScript 类型添加属性

JavaScript 中大多数类型存在构造函数:

1.对象的构造函数为 Object
2.数组的构造函数为 Array
3.函数的构造函数为 Function
4.字符串的构造函数为 String
5.数字的构造函数为 Number
6.布尔的构造函数为 Boolean
7.正则表达式的构造函数为 RegExp

我们可以向构造函数的 prototype 添加属性(常添加方法),使得此属性对相关变量可用:

复制代码 代码如下:

Number.prototype.integer = function() {
    return Math[this < 0 ? 'ceil' : 'floor'](this);
}
 
(1.1).integer(); // 1

作用域

JavaScript 需要通过函数来构建作用域:

复制代码 代码如下:

function() {
    // ...
}();

这里创建并执行了一个匿名函数。通过作用域能够隐藏不希望暴露的变量:

精彩图集

赞助商链接