问题内容: 基本类型(数字,字符串等)按值传递,但对象未知,因为它们都可以按值传递(如果我们认为保存对象的变量实际上是对该对象的引用) )和按引用传递(当我们认为对象的变量包含对象本身时)。 尽管最后并没有什么大不了,但我想知道呈现通过惯例的参数的正确方法是什么。是否有JavaScript规范的摘录,其中定义了与此相关的语义? 问题答案: JavaScript很有趣。考虑以下示例: 产生输出: 如
问题内容: 找出JavaScript数组是否包含值的最简洁,最有效的方法是什么? 这是我知道的唯一方法: 有没有更好,更简洁的方法来实现这一目标? 这与Stack Overflow问题密切相关。在JavaScript数组中查找项目的最佳方法?解决使用数组查找对象的问题indexOf。 问题答案: 现代的浏览器,这不正是这一点,得到广泛支持的人,除IE: 你也可以使用,它不太直接,但对于过时的浏览器
问题内容: 以下是构建链接的两种方法,其唯一目的是运行JavaScript代码。在功能,页面加载速度,验证目的等方面哪个更好? 要么 问题答案: 老实说,我都不建议。我会为该行为使用程式化。 这样,你可以分配onclick。我还建议通过脚本进行绑定,而不要使用标签上的属性。唯一的难题是无法禁用的较旧IE中的伪3d文本效果。 如果必须使用A元素,请使用;已经提到的原因。 万一你的onclick事件失
问题内容: 谁能用JavaScript解释事件委托,它有什么用? 问题答案: DOM事件委派是一种机制,它通过事件“冒泡”(也称为事件传播)的魔术,通过单个公共父节点而不是每个子节点来响应ui事件。 在元素上触发事件时,将发生以下情况: 事件被调度到其目标,并且在该目标中 找到的所有事件侦听器都会被触发。 然后,冒泡事件将触发所有其他事件侦听器,这些事件侦听器可通过向上跟随父链来查找在每个连续上注
问题内容: 在javascript中,你什么时候要使用它: 在此: 问题答案: 其全部与可变作用域有关。默认情况下,自执行函数中声明的变量仅可用于自执行函数中的代码。这样就可以编写代码,而不必担心在其他JavaScript代码块中如何命名变量。 例如: 这将首先警报“ 3”,然后在下一个警报上引发错误,因为未定义foo。
问题内容: 我有一个 DOM元素: 有两个ID 和的字段..。我可以访问,没有任何问题,但是由于名称中包含句点,导致语法错误而失败。 如何访问这些属性? 问题答案: 使用方括号表示法: 这适用于任何对象,对于非标识符安全的字符以及访问你可能提前都不知道的键特别有用。
问题内容: 在下一页中,使用Firefox的“删除”按钮提交表单,但“添加”按钮不提交。如何防止“删除”按钮提交表单? 问题答案: 你正在使用HTML5按钮元素。请记住,原因是此按钮具有默认的提交行为,如W3规范所述,如此处所示: W3C HTML5按钮 因此,你需要明确指定其类型: 为了覆盖默认的提交类型。我只想指出发生这种情况的原因=)
问题内容: 如何在JavaScript中使用支持Unicode的正则表达式? 例如,应该有类似的东西可以匹配Letters或Marks类别中的任何代码点(而不仅仅是ASCII的),并且希望具有这样的过滤器来标点,等等。 问题答案: ES 6的情况 即将发布的ECMAScript语言规范,版本6,包含可识别Unicode的正则表达式。必须使用u正则表达式上的修饰符启用支持。请参阅ES6中支持Unic
问题内容: 我想知道如何相对于浏览器窗口获取HTML元素(例如和在JavaScript中)的X和Y位置。 问题答案: 正确的方法是使用: Internet Explorer自从你很可能就一直在支持此功能,并且最终在CSSOM Views中对其进行了标准化。所有其他浏览器很早以前就采用了它。 一些浏览器还返回height和width属性,尽管这是非标准的。如果你担心与旧版浏览器的兼容性,请查看此答案
问题内容: 如何通过JavaScript发送跨域POST请求? 注意-它不应该刷新页面,之后我需要抓取并解析响应。 问题答案: 如果你控制要发布的服务器,只需在服务器上设置响应头即可利用“跨域资源共享标准”。此答案在该主题的其他答案中进行了讨论,但我认为不是很清楚。 简而言之,这里是如何完成从from.com/1.html到to.com/postHere.php的跨域POST(以PHP为例)。注意
问题内容: 我注意到一些浏览器(特别是Firefox和Opera)非常热衷于使用.css和.js文件的缓存副本,即使在浏览器会话之间也是如此。当你更新这些文件之一但用户的浏览器继续使用缓存的副本时,这会导致出现问题。 问题是:强制用户浏览器在文件更改后重新加载文件的最优雅方法是什么? 理想情况下,该解决方案不会强制浏览器在每次访问页面时重新加载文件。我将发布自己的解决方案作为答案,但我很好奇是否有
问题内容: 不久前,我在Mac OSX上使用以下命令安装了Node.js版本0.2.1: 我最近安装了Homebrew,所以现在我更喜欢使用它来管理我的安装。我今天使用以下命令安装了Node.js版本0.4.5: 酿造节点 但是我注意到我仍然在这些目录中找到旧版本的Node.js: 卸载使用sudo make技术安装的Node.js的正确方法是什么? 提前致谢 问题答案: 没有“正确”的方法。该只
问题内容: 我怎样才能得到将在所有主要浏览器工作? 问题答案: 这包含你需要了解的所有信息:获取视口/窗口大小 简而言之: Fiddle 请停止编辑此答案。根据不同的代码格式偏好,现在已对其进行了22次编辑。还指出了,如果你只想定位现代浏览器,则不需要这样做-如果是这样,则只需要以下内容:
问题内容: 该图再次显示每个对象都有一个原型。构造函数Foo也具有其自己的Function.prototype,而Foo又通过其属性再次引用Object.prototype。因此,重复一遍,Foo.prototype只是Foo的显式属性,它引用b和c对象的原型。 和之间有什么区别? 问题答案: 是在查找链中用于解析方法的实际对象,等等。 prototype是使用以下命令创建对象时用于构建的对象:
问题内容: 什么是JavaScript的是“falsey”的值,这意味着它们评估为假像表情if(value),value ?和!value? 问题答案: JavaScript中的假值 和其他形式的数字等的零,和(信贷RBT为十六进制形式) - `”“,’‘ 和 ```-长度的字符串0 null undefined NaN document.all (仅在HTML浏览器中) 这是一个奇怪的。是一个假