为了账号安全,请及时绑定邮箱和手机立即绑定

我想知道append()里的参数是函数,需要括号吗?例子里加不加括号结果都一样,标准的是啥

正在回答

3 回答

在这是一样的吧,返回值为字符串。不带括号:函数名即代表返回值。带括号:调用returnhtml()还是返回字符串。结果一样

0 回复 有任何疑惑可以回复我~

我认为不加括号:

框架中是这样的 

append: function() {

return this.domManip( arguments, function( elem ) {

if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {

var target = manipulationTarget( this, elem );

target.appendChild( elem );

}

});

},


在domManip 中 

domManip: function( args, callback ){

value = args[0],

isFunction = jQuery.isFunction( value );


通过isFunction最终定位到

type: function( obj ) {

if ( obj == null ) {

return obj + "";

}

return typeof obj === "object" || typeof obj === "function" ?

class2type[ toString.call(obj) ] || "object" :

typeof obj;

},


跟踪class2type 最终发现 只需要function 的nama 即函数名

1 回复 有任何疑惑可以回复我~

例子里面是追加的元素,如果是想用函数的话,也是可以的,不过函数需要有返回值的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154702    人
  • 解答问题       7289    个

加入课程学习,有效提高前端开发速度

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号