分类 javascript 下的文章

javascript learning notes——function

函数:一次定义,多次执行。js的函数调用还有一个特性,每次调用都会拥有另一个值——本次调用的this值(上下文/context)。函数可以作为对象的一个属性,称为对象的方法。当通过对象调用函数时,该对象就是此次调用的上下文。

//在定义的时候递归
var f = function fact(x) {if (x<=1) return 1; else return x*fact(x-1);};
//作为参数传递
data.sort(function(a,b){return a-b;});
//定义后立即使用
var tensquared = (function(x){return x*x}(10));

- 阅读剩余部分 -

javascript learning notes——array

把数组的笔记写完先
数组继承自Array.prototype中的属性,定义了一套丰富的数组操作函数,对于类数组对象同样有效。
数组是javascript对象的特殊形式,用数字引索来访问数组元素要比访问常规的对象属性快很多。
javascript数组的引索是从零开始的32位数值。对于稠密数组,length即是数组包含的元素个数。对于稀疏数值,length比所有元素的引索都要大。

- 阅读剩余部分 -

javascript learning notes——object

《javascript权威指南》这本书有点太专业了,今天只是看了对象和数组。
对象:不知道是我之前看的书太少还是js的对象实在很特别。我感觉js里面的对象和其他语言里面的用法差了很远。
除了字符串、数字、true、false、null和undefined之外,js中的值都是对象
对象是可变的,是通过引用来操作对象的,对象的属性可以变动,甚至还有属性的特性(writable\enumerable\configurable)
对象都拥有的三个相关的对象属性(protoype\class\extensible flag)
三类对象(native obj\host obj\user-defined obj),两类属性(own property\inherited property)

- 阅读剩余部分 -

js debug function

//在document中的一个指定的区域输出调试信息
//如果document不存在这样的一个区域,则创建一个
function debug(msg){
 //通过查看HTML元素id属性来查找文档的调试部分
 var log = document.getElementById("debuglog");

 if (!log){
     log = document.createElement("div");
     log.id = "debuglog";
     log.innerHTML = "<h1>Debug Log</h1>";
     document.body.appendChild(log);
 }
 //将消息包装在<pre>中,并添加到log中
 var pre = document.createElement("pre");
 var text = document.createTextNode(msg);
 pre.appendChild(text);
 log.appendChild(pre);
}