作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
据我所知(在 Google Chrome 控制台中),我们可以更改预定义函数的定义。让我通过代码来解释:
function alert(){
return 2+2;
}
我正在调用 alert("hi")
,它返回 4,没关系,正如我们定义的那样。但是,即使我调用 window.alert("hi")
,它也会返回 4,这出乎我的意料。
这里我只是创建了一个新函数,我没有提到任何object name 或Prototype 属性,但它仍然覆盖了window对象属性本身。
我的疑问是,如果我们改变函数的定义,它会不会覆盖所有对象中同名函数的定义??
假设我有两个对象 objA
和 objB
,它们都有一个名为 strange()
的函数。现在我在这两个对象的外部定义了一个函数 strange() 。那么,是否会覆盖objA
和objB
中strange()
的定义呢?如果是这样,为什么?
如果是这样,如何防止这种情况发生?意味着如何防止覆盖所有对象?
提前致谢...!!!!
我是一名优秀的程序员,十分优秀!