相关疑难解决方法(0)

在JavaScript中,如果我用括号调用函数会有所不同吗?

我注意到调用带有空括号的函数或根本没有任何括号时的区别.但是,我没有向函数传递任何参数,所以我想知道,有什么区别:

window.onload = initAll();
Run Code Online (Sandbox Code Playgroud)

window.onload = initAll;
Run Code Online (Sandbox Code Playgroud)

请解释其背后的原理.

javascript

102
推荐指数
5
解决办法
3万
查看次数

addEventListener在没有我甚至要求的情况下调用该函数

所以我们有一个页面:

<span id='container'>
    <a href='#' id='first'>First Link</a>
    <a href='#' id='second'>Second Link</a>
</span>
Run Code Online (Sandbox Code Playgroud)

并想要添加一些点击事件:

first.addEventListener('click', function(){alert('sup!');})
Run Code Online (Sandbox Code Playgroud)

奇迹般有效!但是,当您将第二个参数设为外部函数时:

function message_me(m_text){
    alert(m_text)
}

second.addEventListener('click', message_me('shazam'))
Run Code Online (Sandbox Code Playgroud)

它立即调用该函数.我怎么能阻止这个?很烦人!

这是一个现场演示:http://jsfiddle.net/ey7pB/1/

javascript addeventlistener

15
推荐指数
4
解决办法
2万
查看次数

addEventListener 中不带括号的函数是如何使用的?

我无法理解这个addItem()removeItem()被不带括号addEventListener('click', addItem)

var addButton = document.getElementById('add');
addButton.addEventListener('click', addItem);

var removeButton = document.getElementById('remove');
removeButton.addEventListener('click', removeItem);

function addItem(){
    console.log('Add Button clicked');
}

function removeItem(){
    console.log('Remove Button clicked');
}
Run Code Online (Sandbox Code Playgroud)

html javascript function

10
推荐指数
1
解决办法
1219
查看次数

标签 统计

javascript ×3

addeventlistener ×1

function ×1

html ×1