Javascript 调用数组原型函数
我试过chrome,下面不好的原因是什么Javascript 调用数组原型函数,javascript,Javascript,我试过chrome,下面不好的原因是什么 Array.prototype.ts= function () { alert("hallo") } [1, 9, 8, 7, 6, 5, 3, 4, 5, 2, 0].ts(); //not ok - what is the reason? ([1, 9, 8, 7, 6, 5, 3, 4, 5, 2, 0]).ts(); //ok 函数声明后缺少分号。下面是我在chrome控制台中运行的内容,我看到一切都正常工作
Array.prototype.ts= function () {
alert("hallo")
}
[1, 9, 8, 7, 6, 5, 3, 4, 5, 2, 0].ts(); //not ok - what is the reason?
([1, 9, 8, 7, 6, 5, 3, 4, 5, 2, 0]).ts(); //ok
函数声明后缺少分号。下面是我在chrome控制台中运行的内容,我看到一切都正常工作。用小提琴看下面
Array.prototype.ts=function(){alert('test')};
[1,2,3].ts()
函数声明后缺少分号。下面是我在chrome控制台中运行的内容,我看到一切都正常工作。用小提琴看下面
Array.prototype.ts=function(){alert('test')};
[1,2,3].ts()
函数声明后缺少分号。下面是我在chrome控制台中运行的内容,我看到一切都正常工作。用小提琴看下面
Array.prototype.ts=function(){alert('test')};
[1,2,3].ts()
函数声明后缺少分号。下面是我在chrome控制台中运行的内容,我看到一切都正常工作。用小提琴看下面
Array.prototype.ts=function(){alert('test')};
[1,2,3].ts()
据我所知,您应该避免扩展阵列原型,因为它可以更改其默认行为。
您可以编写一个“普通”函数来完成完全相同的任务,只需在开始执行任何其他操作(array.isArray(yourArray))之前检查输入参数是否为数组,这样您就不会用不必要的函数污染任何内容 当我运行它时,它们都被执行:)
据我所知,您应该避免扩展阵列原型,因为它可以更改其默认行为。
您可以编写一个“普通”函数来完成完全相同的任务,只需在开始执行任何其他操作(array.isArray(yourArray))之前检查输入参数是否为数组,这样您就不会用不必要的函数污染任何内容 当我运行它时,它们都被执行:)
据我所知,您应该避免扩展阵列原型,因为它可以更改其默认行为。
您可以编写一个“普通”函数来完成完全相同的任务,只需在开始执行任何其他操作(array.isArray(yourArray))之前检查输入参数是否为数组,这样您就不会用不必要的函数污染任何内容 当我运行它时,它们都被执行:)
据我所知,您应该避免扩展阵列原型,因为它可以更改其默认行为。
您可以编写一个“普通”函数来完成完全相同的任务,只需在开始执行任何其他操作(array.isArray(yourArray))之前检查输入参数是否为数组,这样您就不会用不必要的函数污染任何内容 这是正确的,不过我想解释一下原因
分号在JavaScript中通常不有用,但这样的情况说明了不使用分号的风险:
- 函数声明是有效的表达式
- 表达式后跟括号中的内容(
[]
)也是有效表达式
因此,这两行被解释为一个表达式,而第二行看起来像是一个数组,实际上被读取为函数对象的无效索引。我建议在代码中以[
或开头的任何行的开头添加分号(
)(当然,除非是要继续上一行)
换句话说,您的代码如下所示:
Array.prototype.ts= function () { /*…*/ }[1, 9 /* etc */].ts();
Runthis是正确的,尽管我想解释一下原因
分号在JavaScript中通常不有用,但这样的情况说明了不使用分号的风险:
- 函数声明是有效的表达式
- 表达式后跟括号中的内容(
[]
)也是有效表达式
因此,这两行被解释为一个单独的表达式,而第二行看起来像数组的内容实际上被解读为函数对象的无效索引。我建议在代码中以[
或(
开头的任何行的开头添加分号(当然,除非是要继续上一行)
换句话说,您的代码如下所示:
Array.prototype.ts= function () { /*…*/ }[1, 9 /* etc */].ts();
Runthis是正确的,尽管我想解释一下原因
分号在JavaScript中通常不有用,但这样的情况说明了不使用分号的风险:
- 函数声明是有效的表达式
- 表达式后跟括号中的内容(
[]
)也是有效表达式
因此,这两行被解释为一个单独的表达式,而第二行看起来像数组的内容实际上被解读为函数对象的无效索引。我建议在代码中以[
或(
开头的任何行的开头添加分号(当然,除非是要继续上一行)
换句话说,您的代码如下所示:
Array.prototype.ts= function () { /*…*/ }[1, 9 /* etc */].ts();
Runthis是正确的,尽管我想解释一下原因
分号在JavaScript中通常不有用,但这样的情况说明了不使用分号的风险:
- 函数声明是有效的表达式
- 表达式后跟括号中的内容(
[]
)也是有效表达式
因此,这两行被解释为一个单独的表达式,而第二行看起来像数组的内容实际上被解读为函数对象的无效索引。我建议在代码中以[
或(
开头的任何行的开头添加分号(当然,除非是要继续上一行)
换句话说,您的代码如下所示:
Array.prototype.ts= function () { /*…*/ }[1, 9 /* etc */].ts();