摘要:1.indexOf和lastIndexOf方法:因为IE7在数组对象上使用indexOf会报错,所以需要重写一个兼容性的。Array.prototype.lastIndexOf(item,index){ var n = this.length,i = (index==null||index>n-1...
阅读全文
摘要:1.repeat方法:将一个字符串重复自身n次。比如:repeat("chaojidan",2) -> chaojidanchaojidan方法1:function repeat(str,n){ return Array.prototype.join.call({length:n+1},str)...
阅读全文
摘要:最近比较闲,我就讲下seajs的模块编译_compile过程。这里紧接着第三课的例子来讲解。首先是a.js的编译Module.prototype._compile = function() {126 var module = this 127 // 如果该模块已经编...
阅读全文
摘要:模块加载,其实就是把js分成很多个模块,便于开发和维护。因此加载很多js模块的时候,需要动态的加载,以便提高用户体验。在介绍模块加载库之前,先介绍一个方法。动态加载js方法:function loadJs(url , callback){ var node = document.createEle...
阅读全文
摘要:1.类型的判断: js五种简单数据类型有:null,undefined,boolean,number,string。 还有复杂的数据类型:Object,Function,RegExp,Date,自定义的对象,比如:Person等。 typeof一般用来判断boolean,number,stri...
阅读全文
摘要:1.命名空间: js里面的命名空间就是使用对象的属性来扩展的。比如,用户定义一个A对象,A对象下面有B属性和C属性,同时B属性和C属性又是对象。因此A={B:{},C:{}},这时用户就可以在B对象和C对象中定义一样的方法,属性了。因此B和C就属于不同的命名空间。我们调用B,C对象里面的方法,就可...
阅读全文