假设我们有一个方法对象有两个属性方法如下;
function test(name){
var name=name;
var re={};
re.getName=function(){return name;};
re.setName=function(newName){name=newName;return this};
return re;
}
alert(test("张三").setName("王五").getName());
如果这时我们需要权限设置,对外只开放getName方法,不开放setName方法,就可以借鉴JQ的promise实现
function test(name,flag){
var name=name;
var re={};
var promise={
getName:function(){return name;},
promise:function(obj){
return obj!=null?$.extend(obj,promise):promise;
}
};
re.setName=function(newName){
name=newName;
return this;
};
promise.promise(re);
return flag?re:re.promise();
}
console.log(test("wwb").getName());
// console.log(test("wwb").setName("aaa").getName());
console.log(test("wwb",true).getName());
console.log(test("wwb",true).setName("aaa").getName());
注释掉的会报错
热门评论
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div> <div>4</div><div>5</div>6<div></div> </div>
</body>
$(function(){
$("div:first-child").css({"color":"red"});
})
1和4 会变红 ,找到每个匹配到的div元素集中的第一个(div作为孩子) 我想你已经明白了吧