一:获取当前元素的所有class:
div: <li class="J_list now">
1: var classes = $0.className.split(" "); // ["J_list", "", "", "", "", "now"];
2: var classed = $0.className.split(/s+/); // ["J_list", "now"]
这两的区别(多个空格)。
二:阻止继续查找 资源浪费
var arr = [1,2,3,4,5,6,7];
for(var i = 0, _len = arr.length; i < _len; i++){
console.log(i);
if(arr[i] == 4){
console.log("xxxx");
break;
}
}--A
for(var i = 0, _len = arr.length; i < _len; i++){
console.log(i);
if(arr[i] == 4){
console.log("aaaax");
i = _len;
}
}---B
(A跟B效果一样)。
三:splice()
1: 两个参数,splice(a, b)---a: 要删除的第一项的位置;b: 要删除的项数
2: 多个参数 A:splice(2, 0, "red", "green"); 第二个参数是0的时候表示插入。
B:splice(2, 1, "red", "green"); 第二个参数不是0的时候表示替换。
四: hasClass()
<div id="hasclass" class="xian1">
我想测试
</div>
var classTest = document.getElementById("hasclass"); console.log(!!classTest.className.match("\s*" + "xian" + "\s*"));// true 这种检测是不准确的 function hasClass(name,obj){ var classes = obj.className.split(/s+/); for(var i = 0, _len = classes.length; i < _len; i++){ if(classes[i] == name){ return true; } } return false; } console.log(hasClass("xian", classTest));// false 正确!
五:trim()
trim = function(text) { return text == null ? "" : text.replace(/(^s*)|(s*$)/g, ""); };
六: parseJSON()
parseJSON = function(data) { if (!data || typeof data !== "string") { return null; } data = X.trim(data); if(win.JSON && win.JSON.parse) { return win.JSON.parse(data); } return (new Function("return " + data))(); };
七: ajax({})
ajax = function(opts) { var dataType = opts.dataType; var data = opts.data; var url = opts.url; var sucFn = opts.sucFn; if(dataType === 'jsonp') { var script = doc.createElement('script'); var head = doc.getElementsByTagName('head')[0]; script.type = 'text/javascript'; var fnName = 'jsonp_' + Math.floor(Math.random()*10E10) + '_' + new Date().getTime(); win[fnName] = function(data) { sucFn(data); head.removeChild(script); }; head.appendChild(script); url = url + '?jsoncallback=' + fnName + '&' + data + '&' + 'r=' + new Date().getTime(); script.src = url; } else { var req = null; if (win.XMLHttpRequest) { req = new XMLHttpRequest(); } else { req = new ActiveXObject("Microsoft.XMLHTTP"); } var type = opts.type; url = opts.url + (type === 'GET' ? '?'+ data : ''); req.open(type, url, true); if(type === 'POST') { req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } req.send(data); req.onreadystatechange = function() { if (req.readyState === 4) { if (req.status === 200) { sucFn(dataType === 'json' ? X.parseJSON(req.responseText) : req.responseText); } else { opts.failFn && opts.failFn(req.status); } } }; } };