js循環(huán)速記
//常規(guī)寫(xiě)法
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
//速記法
for(var index in arr){
console.log(arr[index]);
}
短路求值
//常規(guī)寫(xiě)法
var haha ;
if(xixi){
haha = xixi;
}else{
haha = "我叫哈哈大笑"
}
//速記法
var haha = xixi || "我叫哈哈大笑";
三元操作符
//常規(guī)寫(xiě)法
const x = 20;
let answer;
if (x > 10) {
answer = 'is greater';
} else {
answer = 'is lesser';
}
//速記法
var answer = x > 10 ? 'is greater' : 'is lesser';
當(dāng)需要給另一個(gè)變量分配一個(gè)變量時(shí)跺涤,你可能需要確保變量不是 null噩咪、undefined 或者不為空梯刚。你可以寫(xiě)一個(gè)有多個(gè) if 表達(dá)式的語(yǔ)句,你也可以使用短路求值戚哎。
//常規(guī)寫(xiě)法
if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
let variable2 = variable1;
}
//速記法
var variable2 = variable1 || 100;
js拼接html時(shí)給元素添加點(diǎn)擊事件
問(wèn)題描述:有時(shí)项栏,發(fā)起ajax請(qǐng)求成功后浦辨,需要用js去拼接一小段html字符串,然后給某些元素添加事件時(shí)沼沈,事件總是加不上流酬。
解決方法:在success 回調(diào)函數(shù)內(nèi),給元素添加事件綁定列另。
$.ajax({
url : initDeniedUrl,
dataType: “json”,
type:’post’,
xhrFields: {
withCredentials: true
},
data:JSON.stringify({‘page’:1,’pageSize’:5}),
contentType: ‘a(chǎn)pplication/json; charset=utf-8’,
success : function(res) {
var htmlStr = “<ul class=’artile-wap’>” + “<span class=’rfuse-circular2′></span>”;
$(‘div’).append(htmlStr);
$(‘ul’).on(‘click’,function(){
alert(‘事件綁定上了’);
});
}
});
forEach()方法對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù).
let a = ["a","b","c"];
a.forEach(function(element){
console.log(element);
})
// a b c
let b = [{name:"zj",age:24,sex:"man"},{name:"dmy",age:20,sex:"woman"},{name:"wzb",age:22,sex:"man"},{name:"xkx",age:24,sex:"woman"}];
b.forEach(function(item){
console.log(item["name"]+"-"+item["age"]+"-"+item["sex"]);
})
// zj-24-man dmy-20-woman wzb-22-man xkx-24-woman
語(yǔ)法
array.forEach(callback(currentValue,index,array){
//do something
},this)
array.forEach(callback[, thisArg]);
Object.keys() 方法會(huì)返回一個(gè)由一個(gè)給定對(duì)象的自身可枚舉屬性組成的數(shù)組芽腾,數(shù)組中屬性名的排列順序和使用 for...in循環(huán)遍歷該對(duì)象時(shí)返回的順序一致 (兩者的主要區(qū)別是 一個(gè) for-in 循環(huán)還會(huì)枚舉其原型鏈上的屬性)。說(shuō)白了返回的就是對(duì)象的key值页衙,返回的結(jié)果以數(shù)組的形式摊滔,數(shù)組中的每項(xiàng)都是字符串。
參數(shù)
obj 要返回其枚舉自身屬性的對(duì)象
返回值
一個(gè)表示給定對(duì)象的所有可枚舉屬性的字符串?dāng)?shù)組
var obj = {0:"a",1:"b",2:"c"};
console.log(Object.keys(obj));
// ["0","1","2"];
/* getFoo是個(gè)不可枚舉的屬性 */
var my_obj = Object.create(
{},
{ getFoo : { value : function () { return this.foo } } }
);
my_obj.foo = 1;
console.log(Object.keys(my_obj)); //["foo"];