引子
是JS1群中的Mead Lai提出的问题,如下
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test case</title>
</head>
<body>
<input type="button" onclick="open();" value="Click me" />
<a href="javascript:open();">Click me</a>
<script type="text/javascript">
function open(){
alert(5);
}
</script>
</body>
</html>
为何点击按钮和链接后的效果不一样?点击按钮后页面重载入了,点击链接弹出了5。
部分人(一些有经验的)测试后没找到根本原因,惊喜的发现了open是一个全局方法(window上的)。
把原因归结为不该命名为与window.open同名。认为这样会产生诡异的现象,然后就上升到命名问题,大肆喧哗这样的同名讨论没意思,没必要---因为根本不会这么写。
是的,不应该这么写。但真相呢?
分析
完整分析在这:http://www.w3help.org/zh-cn/causes/SJ9009
慢慢品 w3help 精彩,详细的分析。答案尽在其中..
分享到:
相关推荐
内联事件处理函数的作用域链并非遵循常规的JavaScript作用域规则,而是与元素、DOM结构以及浏览器的实现细节紧密相关。 首先,内联事件处理函数的作用域链有一个独特的结构。在执行时,它通常包含以下几个部分: 1...
### 什么是块元素(block)和内联元素(inline) 在HTML中,元素根据其默认显示方式被分为两大类:块元素(block elements)和内联元素(inline elements)。了解这两种元素的区别对于网页布局和样式设计至关重要。...
CSS 块状元素、内联元素和 inline-block elementos CSS 中的块状元素(Block Elements)和内联元素(Inline Elements)是两种基本的元素类型,它们在网页布局和样式设计中扮演着非常重要的角色。块状元素和内联元素...
CSS文档流与块级元素(block)内联元素(inline)那点事
### CSS文档流与块级元素(block)、内联元素(inline)详解 #### 一、文档流的概念 在深入探讨块级元素与内联元素之前,我们首先要理解**文档流**的基本概念。文档流是指HTML文档中元素按照一定规则排列的方式。在...
在CSS布局中,块状元素和内联元素是构建网页结构的基础,理解它们的特性对于创建有效的页面布局至关重要。块状元素(Block-level Elements)和内联元素(Inline Elements)在HTML文档中扮演着不同的角色。 块状元素...
### 块状元素与内联元素大全 在HTML中,根据元素的默认显示方式,可以将所有的HTML标签大致分为两大类:块状元素(Block-level Element)与内联元素(Inline Element)。这两种类型的元素在网页布局中扮演着重要的...
只需一个简单的mixin,即可将老式的内联事件处理程序属性和属性添加到自定义元素中! 默认情况下,内联事件处理程序属性仅适用于(例如onclick用于click事件, onchange用于change事件),但是使用OnEventMixin可以...
个人主页:www.xmqisheng.com 包含了曾经讲网页过程中的块元素与内联素区别时的知识点课件。
获取元素节点行内样式、内联样式、外链样式(兼容性问题)、获取元素在页面上的偏移量(有定位和没有定位的注意点)、附代码演示。
2. 内联元素内部可以包含块级元素,虽然不常见,但这样做可以改变内联元素的高度,比如在一个`<a>`标签中嵌套一个`<div>`。 了解这些基本概念后,开发者可以更有效地利用HTML和CSS来构建网页,实现所需的布局效果。...
**可变元素**(Variable Elements)是一类特殊元素,它们的行为取决于上下文环境,既可能表现为块级元素,也可能表现为内联元素。例如,`<button>`元素在某些情况下可以作为块级元素独立显示,而在其他情况下可以...
### 内联函数详解 #### 一、内联函数概述 内联函数是C++语言中的一个重要特性,它主要用于提高程序的运行效率。通过在函数调用处直接嵌入函数体,内联函数避免了传统函数调用带来的额外开销(如参数压栈、返回地址...
块元素(block element)一般是其他元素的容器元素,能容纳其他块元素或内联元素。最常见的就是P和div这两个,说的简单点,块元素就好比一个四方块,可以放其他的四方块,并可以呈现在页面上任何地方。默认情况下块...
### ARM GCC 内联汇编参考手册解析 #### 关键知识点概述 本手册主要介绍了如何在C语言中使用GCC提供的内联汇编功能来编写针对ARM架构的代码。内联汇编是一种强大的技术,允许开发者在C代码中插入低级汇编指令,...
### 在Visual C++中使用内联汇编:深入解析与应用 #### 一、内联汇编概述 在计算机编程领域,特别是在C/C++中,内联汇编是一种特殊的编程技术,它允许开发者直接在高级语言中嵌入汇编语言代码。这种方式的主要优势...
SQL语句的内联外联经典面试题 SQL语句的内联外联是一种常见的数据库查询技术,它可以根据不同的...Iterator和ListIterator是Java中两个常见的迭代器,Iterator只能用来遍历序列中的元素,而ListIterator可以双向移动。
内联汇编是编程语言中一个重要的特性,它允许程序员在高级语言中直接插入汇编代码,以便进行底层性能优化或者解决某些特定问题。在VB.NET(Visual Basic .NET)中,虽然它主要是一个高级面向对象的语言,但通过内联...