"foo" instanceof String //=> false
"foo" instanceof Object //=> false
true instanceof Boolean //=> false
true instanceof Object //=> false
false instanceof Boolean //=> false
false instanceof Object //=> false
// the tests against Object really don't make sense
Run Code Online (Sandbox Code Playgroud)
数组文字和对象文字匹配......
[0,1] instanceof Array //=> true
{0:1} instanceof Object //=> true
Run Code Online (Sandbox Code Playgroud)
为什么不是所有人呢?或者,他们为什么不呢?
而且,它们是什么样的呢?
在FF3,IE7,Opera和Chrome中也是如此.所以,至少它是一致的.
错过了一些.
12.21 instanceof Number //=> false
/foo/ instanceof RegExp //=> true
Run Code Online (Sandbox Code Playgroud) 看看下面的代码:
Number.prototype.isIn = function () {
for (var i = 0, j = arguments.length; i < j; ++i) {
if (parseInt(this, 10) === arguments[i]) {
return true;
}
}
return false;
};
var x = 2;
console.log(x.isIn(1,2,3,4,5)); // <= 'true'
console.log(2.isIn(1,2,3,4,5)); // <= Error: 'missing ) after argument list'
Run Code Online (Sandbox Code Playgroud)
为什么当它是一个变量时,代码才能正常工作,但是当它是一个数字文字时,它会失败?
而且,奇怪的是,为什么以下行有效?
console.log((2).isIn(1,2,3,4,5)); // <= 'true'
Run Code Online (Sandbox Code Playgroud)
在上面这一行中,我基本上将括号中的文字括起来.
我已经看到在几个站点上引用了这个格式函数,但它们都没有一个如何将数字传入函数的明确示例.
我试过'12345'.format('0.00'),我相信它应该如何写,但它给了我一个错误,该对象不支持属性或方法.我也试过Number('12345').format('0.00'); var num ='12345'// num.format('0.00'); 格式('0.00','12345')甚至尝试使用数字而不是字符串12345.format(0.00).我错过了一些非常明显的东西吗?
包含的功能副本供参考,因此您无需访问该站点(填写所有缺失的部分).
/**
* I ? Google
*/
String.prototype.stripNonNumeric = function() {
var str = this + '';
var rgx = /^\d|\.|-$/;
var out = '';
for( var i = 0; i < str.length; i++ ) {
if( rgx.test( str.charAt(i) ) ) {
if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) ||
( str.charAt(i) == '-' && out.length != 0 ) ) ) {
out += str.charAt(i); …Run Code Online (Sandbox Code Playgroud) javascript ×3
extend ×1
formatting ×1
instanceof ×1
literals ×1
numbers ×1
prototype ×1
syntax ×1