1. 原来放在不同js文件里面的$(document).ready(function(){})都会执行到。
2. $(window).scroll(function(){}) 窗口滚动事件。
3. $('#h_study_index').live('pageshow',function(event){});可以有多个绑定,多个绑定都会执行。按先后顺序执行。
4. 以前认为ajax是异步的,会不会出现代码交叉执行(这个在多线程中很常见),后来知道我想多了,js是单线程的,不会存在同时执行的情况。
ajax的执行块也是各自独立的,它们也是按先后执行的。就有点类似于安卓的Handler。
5. replace用法。参数g是匹配所有的,参数i是不区分大小写。
"abc".replace(/b./g,function(a,b,c){
//a是匹配上的字符串,如bc
//b是匹配字符器的位置,如1
//c是整个字符串,如abc
});
6. js引用js
其实可以试试使用,JQuery的$.getScript();方法来实现的。
$.getScript("/js/common/taglib/xxx.js",function(){
functionXXX();
})
7. 超简洁的js解析xml
var xml = '<result id="78"><u>key</u></result>'; var xmlObj = $(xml); alert(xmlObj.attr('id')); alert(xmlObj.find('u').text());
8. 以前觉得js不支持Set的类型,怪不方便的,后来看avalon源码的时候,发现这样一种写法,很实用。
var array = ["David", "Jackson"]; Array.prototype.contain = function(str){ return this.indexOf(str)>-1; } Array.prototype.remove = function(str){ var index = this.indexOf(str); if(index>-1){ this.splice(index, 1); } return this; } alert(array.contain("ken")); alert(array.contain("David")); alert(array.remove("ken")); alert(array.remove("Jackson"));
9. JSON.stringify原来还有传3个参数。
一直以为JSON.stringify是传一个参数的。原来它的完整语法是JSON.stringify(value [, replacer] [, space]) ,第二个参数可以把对象变数组、过虑属性。第三个参数可以控制显示格式,比如加换行符、加缩进。2017-05-07