ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
DOM API JS OO概念 JS Functional概念 异步编程技巧 理解浏览器 javascript中基本的数值有:数字,字符串,NULL,undefined,布尔值。其他都是对象。 javascript中的对象是无类型可变的键控集合,是属性的容器,每个属性都有名字和值。 函数额外接收两个参数: this和arguments 函数有四种调用模式: 1、方法调用模式 当函数被保存为一个对象的属性时,我们称它为方法。调用该方法时,this绑定到该对象。方 法可以使用this来访问所属对象。通过this来访问所属对象上下文的方法叫做公共方法。 eg: var myObject = { value: 10, increment: function (inc) { this.value += typeof inc === 'number' ? inc : 1; } }; 2、函数调用模式 当一个函数不是对象属性时,它就作为函数被调用,调用该函数时this绑定在全局对象。*这 是一个设计错误,应该绑在它外部函数的this变量。用that解决。 eg: myObject.double = function() { that = this; var helper = function() { that.value = that.value * 2; } helper(); } 3、构造器调用模式 在函数前加NEW关键字调用,会另外创建一个连接在该函数的prototype成员的新对象。同时 this也会绑定到新对象,new也会改变return的行为。 eg: var Quo = function(String) { this.status = String; } Quo.prototype.get_status = function() { return this.status; } var myQuo = new Quo("cc"); document.writeln(myQuo.get_status()); // console.log("cc") 一个函数在调用的时候就希望使用new,那么它被称作构造函数。它们被保存大写的命名里。 4、apply调用模式 javascript是一门函数式的面向对象的语言。函数可以拥有方法。apply方法让我构建一个参 数函数传递给调用函数。 eg: var array = [3, 4]; var sum = add.apply(null, array); // sum = 7 var statusObject = { status: 'A-OK' } var status = Quo.prototype.get_status.apply(statusObject); // status = 'A-OK' this指代该所属对象,arguments指代所引用的参数个数,相当于一个参数对象。 // 这段代码用返回一个对象来模拟一个value私有属性。闭包。 var myObject = (function() { var value = 0; return { increment: function(inc) { value += typeof inc === 'number' ? inc : 1; }, getValue: function() { return value; } }; }()); myObject.increment(5) 不使用NEW关键字: var quo = function(status) { return { get_status: function() { return status; } }; }; var myQuo = quo("cc"); var fade = function (node) { var level = 1; var step = function() { var hex = level.toString(16); node.style.backgroundColor= '#FFF' + hex + hex; if (level < 15) { level += 1; setTimeout(step, 100); } }; setTimeout(step, 100); }; fade(document.body) 异步处理,回调函数 回调函数:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。 // json 输出一个对象 JSON.stringify(xiaoming)