相关疑难解决方法(0)

为什么10..toString()有效,但10.toString()不起作用?

可能重复:
在JavaScript中使用toString

152..toString(2)
Run Code Online (Sandbox Code Playgroud)

正确创建二进制字符串"10011000",但是

152.toString(2)
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

"SyntaxError:标识符在数字文字后立即启动"

为什么?后一种语法实际上听起来更正确,而前者看起来很奇怪!

javascript syntax

67
推荐指数
2
解决办法
8181
查看次数

调用数字文字的成员函数

我试图调用文字函数,但我得到了奇怪的行为.

考虑这个返回的代码true.

   23 === (23)
Run Code Online (Sandbox Code Playgroud)

当我写作尝试以下.

(23).toFixed(2)
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果_23.00_但是当我尝试时23.toFixed(2)我得到了这个错误.

SyntaxError:意外的标记ILLEGAL

JavaScript如何评估无法理解的表达式以及为什么会出现此错误?

javascript

48
推荐指数
3
解决办法
1494
查看次数

为什么数字文字不能访问Number方法?

如果查看ECMAScript 3规范,您将看到原始值类型Null和Undefined没有伴随Null和Undefined对象.

>> Null
ReferenceError: Null is not defined
Run Code Online (Sandbox Code Playgroud)

其他原始值类型Number,String和Boolean类型都有伴随的Number,String和Boolean对象,您可以从全局范围引用它们.

>>Number
function Number() { [native code] }
>>Boolean
function Boolean() { [native code] }
Run Code Online (Sandbox Code Playgroud)

这些原始值类型的目的是提供诸如toStringvalueOf它们各自的原始值类型的方法:

>>var n = 1;
>>n.toString();
"1" 
Run Code Online (Sandbox Code Playgroud)

是相同的

>>var n = 1;
>>Number.prototype.toString.call(n);
"1"
Run Code Online (Sandbox Code Playgroud)

布尔值和字符串也是这样工作的:

>>var b = true;
>>b.toString(); 
"true"
>>Boolean.prototype.toString.call(b);
"true"
Run Code Online (Sandbox Code Playgroud)

当您尝试混合类型时,您可以看到原始值对象正在使用其伴随对象的方法:

>>Boolean.prototype.toString.call(n); 
TypeError: Boolean.prototype.toString is not generic
>>Number.prototype.toString.call(b)
TypeError: Number.prototype.toString is not generic
Run Code Online (Sandbox Code Playgroud)

有趣的是,对于布尔和字符串文字类型,您可以直接从文字中调用这些方法:

>>true.toString();
"true"
>>Boolean.prototype.toString.call(true)
"true"
>>"moo".toString();
"moo"
>>String.prototype.toString.call("moo")
"moo"
Run Code Online (Sandbox Code Playgroud)

原始值为null和undefined,因为它们没有附带的Null和Undefined对象不能执行以下操作:

>>Null
ReferenceError: Null is not defined …
Run Code Online (Sandbox Code Playgroud)

javascript

27
推荐指数
2
解决办法
2474
查看次数

为什么我不能用单个点访问整数的属性?

如果我试着写

3.toFixed(5)
Run Code Online (Sandbox Code Playgroud)

有一个语法错误.使用双点,放入空格,将三个放在括号中或使用括号表示法可以使其正常工作.

3..toFixed(5)
3 .toFixed(5)
(3).toFixed(5)
3["toFixed"](5)
Run Code Online (Sandbox Code Playgroud)

为什么单点符号不起作用,而我应该使用哪一种替代?

javascript syntax

14
推荐指数
3
解决办法
719
查看次数

在JavaScript中,"1..something"是什么意思?

<script>
1..z
</script>
Run Code Online (Sandbox Code Playgroud)

这不会产生语法或运行时错误.看起来数字和变量名称可以是任何其他(123..qwerty).我想知道这句话是什么意思?

javascript

13
推荐指数
2
解决办法
376
查看次数

为什么2..toString()有效?

为什么2..toString()返回22.toString()会抛出此错误?

例:

console.log(2..toString()); // prints 2

// Firefox throws the error
// `SyntaxError: identifier starts immediately after numeric literal`
console.log(2.toString());

var x = 2;
console.log(x.toString()); // prints 2

// Firefox throws the error
//`TypeError: XML descendants internal method called on incompatible Number`
console.log(x..toString());
Run Code Online (Sandbox Code Playgroud)

javascript

8
推荐指数
3
解决办法
1416
查看次数

3
推荐指数
1
解决办法
1091
查看次数

为什么我不能做1.toString()但我可以做var a = 1; a.toString()

当我做

1.toSting()
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,但是

// javascript
var a = 1; 

// or c#
int a = 1
a.toString()
Run Code Online (Sandbox Code Playgroud)

作品.为什么当一个数字被分配给一个变量时,它会得到一些特殊的功能呢?

javascript c#

2
推荐指数
1
解决办法
86
查看次数

这个代码怎么了?我无法扩展Number对象


Number.prototype.xx = function(){
alert("hi");
}

5.xx();

我正在尝试使用原型扩展Number.

javascript

1
推荐指数
2
解决办法
119
查看次数

标签 统计

javascript ×9

syntax ×2

c# ×1