这里有一些宝石:
文字:
var obj = {}; // Object literal, equivalent to var obj = new Object();
var arr = []; // Array literal, equivalent to var arr = new Array();
var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something');
Run Code Online (Sandbox Code Playgroud)
默认值:
arg = arg || 'default'; // if arg evaluates to false, use 'default', which is the same as:
arg = !!arg ? arg : 'default';
Run Code Online (Sandbox Code Playgroud)
当然我们知道匿名函数,但能够将它们视为文字并在现场执行它们(作为闭包)很棒:
(function() { ... })(); // Creates an anonymous …Run Code Online (Sandbox Code Playgroud) 为什么这些例子中的第一个不起作用,但所有其他例子都不起作用?
// 1 - does not work
(function() {
setTimeout(someFunction1, 10);
var someFunction1 = function() { alert('here1'); };
})();
// 2
(function() {
setTimeout(someFunction2, 10);
function someFunction2() { alert('here2'); }
})();
// 3
(function() {
setTimeout(function() { someFunction3(); }, 10);
var someFunction3 = function() { alert('here3'); };
})();
// 4
(function() {
setTimeout(function() { someFunction4(); }, 10);
function someFunction4() { alert('here4'); }
})();
Run Code Online (Sandbox Code Playgroud) Shell脚本通常用作粘合剂,用于自动化和简单的一次性任务.您最喜欢的Bash shell /脚本语言的"隐藏"功能有哪些?
也可以看看:
我肯定在关于PHP和XHTML 的隐藏功能样式问题中找到了一些有用的提示.
所以这里是一个涵盖CSS.虽然容易上手,但需要花一点时间来了解一切,他们的默认行为,属性等
这里有一些开球
@charset "UTF-8"; /* set the character set. must be first line as Gumbo points out in comments */
.element {
/* takes precedence over other stylings */
display: block !important;
/* mozilla .... rounded corners with no images */
-moz-border-radius: 10px;
/* webkit equivalent */
-webkit-border-radius: 10px
}
Run Code Online (Sandbox Code Playgroud)
这些并不是很隐蔽,但它们的使用并不常见.您在CSS中发现了哪些提示,技巧,稀有功能?
-1 == true; //false
-1 == false //false
-1 ? true : false; //true
Run Code Online (Sandbox Code Playgroud)
谁能解释一下上面的输出?我知道我可以通过比较0来解决这个问题,但我很感兴趣.我希望至少有一个草率的equals语句是真实的,因为它们进行了隐式类型转换,我当然没想到三元组会得出完全不同的结果.
与此问题类似,我想知道有经验的JavaScript开发人员是否有他们使用的任何网站示例,以便在24/28小时内获取JavaScript的基础知识?我看了Douglas Crockford的Google Tech Talk,我买了"Javascript:The Good Parts"这本书,但我没有时间阅读它.
(我正在阅读" 面向Web开发人员的专业JavaScript "一书,以提供有关此问题的背景信息,特别是第5章"参考类型")
我想知道为什么以及如何
var start = +new Date();将当前的毫秒表示作为解决方案(例如:IE8)的解决方案,以支持ECMAScript 5 Date.now()?
+与仅仅是普通的旧的相比,这里的运营商做了什么new Date()呢?
我正在计划关于JavaScript的介绍性演讲,在准备过程中,我想知道新秀陷入的最大陷阱是什么.
我知道在我完全理解闭包之前我已经遇到了一些问题,但JavaScript中的许多奇怪行为都不是我想的了......
那么,你应该向新秀指出哪些陷阱?
在JavaScript中有几种不同的方法可以将浮点数转换为整数.我的问题是什么方法能提供最佳性能,最兼容,或被认为是最佳实践?
以下是我所知道的一些方法:
var a = 2.5;
window.parseInt(a); // 2
Math.floor(a); // 2
a | 0; // 2
Run Code Online (Sandbox Code Playgroud)
我相信那里还有其他人.建议?
在JavaScript中,为什么八进制数字符串被转换为十进制数?我可以使用Number()或转换十六进制文字字符串+,为什么不使用八进制?
例如:
1000 === +"1000" // -> true
0xFF === +"0xFF" // -> true
0100 === +"0100" // -> false - +"0100" gives 100, not 64
Run Code Online (Sandbox Code Playgroud)
我知道我可以解析parseInt("0100" [, 8]),但我想知道为什么转换不像hex和dec数字那样工作.
另外,有没有人知道为什么在严格模式下从ECMAScript第5版中删除了八进制文字?
javascript ×8
bash ×1
css ×1
debugging ×1
ecmascript-5 ×1
scripting ×1
shell ×1
types ×1
variables ×1