javascript 是否存在函数引用传递?
需求:百度UEditor,如果一实例化那么将开头的空段HTML去掉。
修改:javascript
源码
function removeEmpty(e){
e.setContent('');
}
var ueContent = UE.getEditor('content');
ueContent.addListener('ready',removeEmpty(ueContent));
报错
TypeError: me.body is undefined
提问
1)为什么无法将ueContent这个对象传入到函数removeEmpty中
2)百度UEditor如何去掉头尾部默认的这一段HTML
DMG夜神月
10 years, 4 months ago
Answers
-
第一个问题”javascript 是否存在函数引用传递?“,我想你可能还不了解”引用类型“和”基本类型“的概念,这里有一篇文章你可以看一下: http://hellobug.github.io/blog/javascript-variable-assignment/
-
第二个问题”为什么无法将ueContent这个对象传入到函数removeEmpty中“,我猜你大概是弄错了回调函数的写法,
ueContent.addListener('ready',removeEmpty(ueContent));
你这样子写自然是不行的,因为你在这句代码执行的时候就调用了
removeEmpty
,代码里怎么可能能得到me.body
,这个应该是ready
后才能拿到的东西吧?
改成这样试试:ueContent.addListener('ready', function() { removeEmpty(ueContent) });
-
第三个问题,我也不知道
放开那只怪蜀黍
answered 10 years, 4 months ago