与函数一起使用时this的值.调用产生意外输出
value of this when used with function.call giving unexpected output
我正在学习javascript,我试图理解这与应用/调用时使用的概念,但我被困在这个代码。
foo = function(){
console.log(this)
}
foo.call("random")
输出是一个字符串对象,但为什么字符串显示为字符串数组。
String { 0="r", 1="a", 2="n", 3="d", 4="o", 5="m" }
我所期望的是。
String{ }
就是数字
的情况foo.call(121)
其中输出为
Number{ }
输出是一个字符串对象,如预期的
只是因为你使用了草率模式。在严格模式下,它将是一个基本字符串值。
但为什么字符串显示为字符串数组
因为String
对象是类似数组的,在它们的下标上有一个.length
和单个字符串。然而,控制台显示的方式取决于实现:
// Chrome
String {0: "r", 1: "a", 2: "n", 3: "d", 4: "o", 5: "m", length: 6}
// Firefox
String { 0="r", 1="a", 2="n", more...}
// Opera
[+] String
// IE
▷ [object String]{0: "r", 1: "a", 2: "n", 3: "d", 4: "o", 5: "m", length: 6}
相关文章:
- “语法错误:意外的令牌)”在 javascript 调用中,当 eval(value) 为空时
- 对方法或属性访问的意外调用
- Ajax调用后出现意外的标识符错误
- AJAX rest调用错误”;意外的令牌<&”;
- 对jQuery中IE8的方法或属性访问的意外调用
- 对方法或属性访问的意外调用.在JQUERY
- XDomainRequest onload上对方法或属性访问的意外调用
- 调用加载的顺序函数会意外中断代码
- PHP调用脚本函数,返回值为Uncaught SyntaxError:意外的令牌ILLEGAL
- 意外令牌:在jQuery ajax调用中
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- 尝试用 JSON 编写函数,在函数调用中获取“意外令牌”
- 使用参数成功调用简单函数后出现意外警报,消息为“未定义”
- (仅在IE中)SCRIPT65535:对方法或属性访问的意外调用.主.js,第 152 行字符 28
- Ajax 调用返回语法错误:输入意外结束
- 未捕获的语法错误: 意外令牌: ajax 调用
- 调用函数时出现意外的令牌 } 错误
- 函数调用的意外标识符
- ReactJS 返回解析器错误语法错误:在 AJAX 调用 JAVA servlet 后出现意外的标记 a
- 在 JavaScript 中链接 .bind() 调用.意外结果