我最近将当前版本的json2.js与我在项目中的版本进行了比较,并注意到函数表达式的创建和自我执行方式有所不同.
用于在括号中包装匿名函数然后执行它的代码,
(function () {
// code here
})();
Run Code Online (Sandbox Code Playgroud)
但现在它将自动执行的函数包含在括号中.
(function () {
// code here
}());
Run Code Online (Sandbox Code Playgroud)
有通过CMS在接受答案的注释解释JavaScript的封装匿名函数的语法是"既:(function(){})();和(function(){}());有效."
我想知道有什么区别?前者是否通过绕过全局匿名函数来占用内存?括号应该放在哪里?
我读过"什么是按位运算符?" ,所以我知道运算符是什么 ,但我还不清楚如何使用它们.任何人都可以提供任何实际的例子,说明位运算符在JavaScript中有用吗?
谢谢.
只是深入研究jQuery源代码,我发现了几个使用按位运算符的地方,例如:(只有&运算符)
// Line 2756:
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
// Line 2101
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
Run Code Online (Sandbox Code Playgroud) 由于.toggle()被弃用从jQuery的,我正在寻找一个新的简单的解决方案,这将使我创造"更多"按钮,滑下一个段落,而改变按钮上的文字为"阅读少".
我把这个工作代码放在一起:
var moreText = "Read more";
var lessText = "Read less";
$(document).ready(function () {
$("a.readmorebtn").text(moreText);
$("a.readmorebtn").toggle(function () {
$("a.readmorebtn").text(lessText);
$("p.more").slideToggle(0);
},
function () {
$("a.readmorebtn").text(moreText);
$("p.more").slideToggle(0);
});
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/approach/gDvyR/
您将在小提琴中看到左侧的选项上选中了"Migrate 1.1.0",这是.toggle()使用此(最新)版本的jQuery以这种方式进行工作的唯一方法.
我的问题是,你能想到另一种执行相同功能但不使用.toggle()和迁移的方法吗?
如果你觉得这个问题已在其他地方得到解答,我会道歉,但我一直在寻找解决办法"相对简单"的提示,而没有真正看到任何明确的方法.不幸的是,对jQuery来说,它似乎并不是那么直接!
非常感谢.
这可能是一个愚蠢的问题,但我无法做到这一点.我可以使用普通的JavaScript更改按钮的功能,但不能使用jQuery.我的目标是一个非常简单的文本调整大小按钮.这个按钮需要两个不同的功能; 一个使文本更大并将click函数更改为另一个函数,另一个函数使文本更小并再次将click函数更改为第一个函数.由于相同的按钮将用于放大和缩小文本sixe,我需要这个工作.我正在研究一个学校项目,我们只需要使用jQuery/jQuery UI进行这项任务.
使用普通的JavaScript,它将是这样的:
var button = document.getElementById('click-button');
button.onclick = firstClick;
function firstClick (){
button.onclick=secondClick;
}
function secondClick(){
button.onclick=firstClick;
}
Run Code Online (Sandbox Code Playgroud)
如何使用jQuery实现相同的功能?
我正在尝试创建一个切换功能,因此当您单击链接时,它会做一件事,而当您再次单击同一链接时,它会做另一件事。我的问题是我使用的是最新版本的 Jquery,似乎 toggle-event 已弃用。
在我发现它已被弃用之前,我试图使用它。
$('#edit a').toggle(
function(){
editList();
},
function(){
addList();
});
Run Code Online (Sandbox Code Playgroud)
它在文档中说它已经绑定到点击。