Tag: JavaScript

自动执行匿名JavaScript函数的括号的位置?

我最近将json2.js的当前版本与我在项目中使用的版本进行了比较,并注意到函数expression式是如何创build和自我执行的。 代码用于包装一个匿名函数括号,然后执行它, (function () { // code here })(); 但是现在它将自动执行的函数包装在括号中。 (function () { // code here }()); 在接受的解释JavaScript的封装的匿名函数语法的回答中,CMS有一个评论:“ (function(){})(); 和(function(){}()); 有效“。 我想知道有什么不同? 前者是否通过留下一个全球匿名的function来记忆? 圆括号应该放在哪里?

Javascriptfunction范围和提升

我刚刚读了一篇关于Ben Cherry的JavaScript范围和提升的伟大文章,他在这个文章中给出了以下例子: var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); 使用上面的代码,浏览器会提醒“1”。 我仍然不确定为什么它返回“1”。 他所说的一些事情想起来就像:所有的函数声明都被提升到最顶层。 你可以使用函数来定义一个variables。 仍然不点击我。

如何在所有现代浏览器中检测页面缩放级别?

如何在所有现代浏览器中检测页面缩放级别? 虽然这个线程告诉我如何在IE7和IE8中做到这一点,但我找不到一个好的跨浏览器解决scheme。 Firefox存储页面缩放级别以供将来访问。 在第一页加载,我可以得到缩放级别? 我读过的某个地方在加载页面之后发生缩放变化时会起作用。 有没有办法来捕捉'zoom'事件? 我需要这个,因为我的一些计算是基于像素的,并且在放大时可能会波动。 由@tfl给出的修改样本 缩放时,此页面会提示不同的高度值。 [的jsfiddle] <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"/></script> </head> <body> <div id="xy" style="border:1px solid #f00; width:100px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque sollicitudin tortor in lacus tincidunt volutpat. Integer dignissim imperdiet mollis. Suspendisse quis tortor velit, placerat tempor neque. Cum sociis natoque penatibus et magnis dis […]

jQuery的图像加载callback(即使图像caching)

我想要做: $("img").bind('load', function() { // do stuff }); 但是,从caching中加载图像时,加载事件不会触发。 jQuery的文档build议一个插件来解决这个问题,但它不起作用

如何使用JavaScript获取图像大小(高度和宽度)?

有没有任何jQuery或纯JS API或方法来获取页面上的图像的维度?

我怎样才能在JavaScript中创build一个二维数组?

我一直在网上阅读,有些地方说这是不可能的,有些人说是,然后举一个例子,其他人反驳这个例子等等。 我如何在JavaScript中声明2维数组? (假设可能) 我将如何访问其成员? ( myArray[0][1]或myArray[0,1] ?)

解释封装的匿名函数语法

概要 你能解释JavaScript的封装匿名函数的语法背后的原因吗? 为什么这个工作: (function(){})(); 但是这不: function(){}(); ? 我知道的 在JavaScript中,创build一个像这样的命名函数: function twoPlusTwo(){ alert(2 + 2); } twoPlusTwo(); 您也可以创build一个匿名函数并将其分配给一个variables: var twoPlusTwo = function(){ alert(2 + 2); }; twoPlusTwo(); 您可以通过创build一个匿名函数来封装一段代码,然后将其封装在括号中并立即执行: (function(){ alert(2 + 2); })(); 这在创build模块化脚本时非常有用,以避免混淆当前范围或全局范围,并且可能存在冲突的variables – 例如Greasemonkey脚本,jQuery插件等。 现在,我明白为什么这个工作。 括号内包含的内容,只公开结果(我敢肯定有一个更好的方式来描述),如(2 + 2) === 4 。 我不明白 但是我不明白为什么这不起作用: function(){ alert(2 + 2); }(); 你能解释一下吗?

在JavaScript数组中查找重复值的最简单的方法

我需要检查一个JavaScript数组,看看是否有重复的值。 什么是最简单的方法来做到这一点? 我只需要find重复的值是什么 – 我实际上并不需要它们的索引或者它们被重复的次数。 我知道我可以遍历数组,并检查所有其他值的匹配,但似乎应该有一个更简单的方法。 有任何想法吗? 谢谢! 相关: 从JavaScript数组中删除重复

在jQuery中添加表格行

jQuery中最好的方法是将最后一行添加到表中作为最后一行? 这可以接受吗? $('#myTable').append('<tr><td>my data</td><td>more data</td></tr>'); 是否有限制,你可以添加到这样的表(如input,select,行数)?

从文本JavaScript中去除HTML

有没有一种简单的方法来获取JavaScript的string和去除HTML?