JavaScript 语言精粹 学习笔记

来源:互联网 发布:领航软件是什么 编辑:程序博客网 时间:2024/05/22 17:05

我觉得这样才算笔记,你觉得呢?


log 


function log(arg) {            console.log(arg);        }



数组


        // 空数组        var arr = [];        // 也可以是 arr.push(0);        arr[0] = 0;        // arr长度扩充为3,并在[2]位置放入"2"。        arr[2] = "2";        log(arr.toString());    // 0,,2        // 不提倡用 for in,因为涉及到原型。       for (var i= 0,len=arr.length;i!=len;i++){           log(arr[i]);         // 0 undefined 2       }        // 截断后两位        arr.length = 1;        log(arr.toString());    // 0

对象


  var obj = {};        obj.field = "this a field";        log(obj);   // Object {field: "this a field"}        delete obj.field;        log(obj);   // Object {}

函数


    // 展示 this & arguments        function logEx(arg) {            log("this: " + this);            log("参数长度: " + arguments.length);            log(arg);        }        logEx("参数");        /*         this: [object Window]         参数长度: 1         参数         */        // 使用 apply方法        var obj = {};        logEx.apply(obj, ["参数1","参数2"]);        /*         this: [object Object]         参数长度: 2         参数1         */

闭包


        // javascript 中以函数来区分作用域        var obj = function () {            var value = 0;            return {                increment: function () {                    value++;                },                getValue: function () {                    return value;                }            }        }        var myObj = obj();        log(myObj.getValue());  // 0        myObj.increment();        log(myObj.getValue());  // 1

面向对象


        // 将函数看作为一个类        // Person 类        function Person(name, age) {            this.name = name;            this.age = age;        }        // 方法只有一份        Person.prototype.toString = function () {            return this.name + " " + this.age;        }        // 创建一个"实例"        var person = new Person("李顺生", 23);        log(person.toString()); // 李顺生 23 




0 0
原创粉丝点击