有人可以解释这两个JS代码片段之间的区别吗?
Could someone explain the difference between these two JS code snippets?
有人可以解释这两个代码片段之间的区别吗?是否有任何真正的功能差异?一个比另一个优越吗?
isIPad = function() {
return navigator.userAgent.match(/iPad/i) != null;
};
isIPad = (function isIPad() {
return navigator.userAgent.match(/iPad/i) != null;
}());
第一个变量将存储一个函数,该函数将根据设备是否为 iPad 返回布尔值。
var thisIsAnIPad = isIPad()
if(thisIsAnIPad) {
console.log('This is an iPad!');
}
第二个变量立即计算布尔结果并将其存储。您可以直接使用该值。
if(isIPad) {
console.log('This is an iPad!');
}
这两种方法在客观上都不优越。它们都有不同的用例。例如,如果您只想在某个时间点知道用户是否在iPad上,则可以使用第二个选项。
如果它是一个需要多次重新计算的值(也许用户代理正在更改?(,那么第一个选项更可取。
但是,第二种方法可以简化为
isIPad = navigator.userAgent.match(/iPad/i) != null;
这将比其他任何选项都更节省内存。
相关文章:
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- 将代码片段转换为 HTML 页面
- 以下代码片段是命名空间还是闭包
- I'我试图在网页中添加一个javascript小片段,但它只是在页面上显示代码
- 对以下代码片段中“this”值更改的说明
- fadeIn, fadeOut jQuery 代码片段
- 如何更好地编写以下Javascript代码片段
- ace编辑器查找代码片段
- 如何优化此JavaScript代码片段
- 被这个JavaScript代码片段弄糊涂了
- 以下 Chrome 扩展程序 JavaScript 代码片段究竟是如何工作的
- 跳过爬虫的 JavaScript 代码片段
- 将代码片段插件添加到 Rails 应用程序中的 CKEditor
- Nodejs 可选正则表达式命名组的插件或代码片段
- 我怎样才能异步执行 JavaScript 代码片段并等待它们的结果
- 如何使用下面的代码片段获得不同的值
- 在 JavaScript 中将代码片段转换为方法
- 代码片段,使用jquery,我什至需要javascript吗?
- 如何简明扼要地遵循 jquery 代码片段
- 翻译PHP片段代码到.net