var a = 10;
sayHi();
function sayHi()
{
a = a + 10;
alert(a);
return a;
}
alert(a);
alert(sayHi()+10)
这是由Javascript规范规定的,Null和Object都是javascript中的数据类型。Null数据类型只有一个值:null。就像undefined数据类型只有一个值:undefined。问题出在typeof操作符的定义规范,如下:
11.4.3 The typeof Operator
The production UnaryExpression : typeof UnaryExpression is evaluated as follows:
1. Evaluate UnaryExpression.
2. If Type(Result(1)) is not Reference, go to step 4.
3. If GetBase(Result(1)) is null, return "undefined".
4. Call GetValue(Result(1)).
5. Return a string determined by Type(Result(4)) according to the following table:
Type Result
Undefined "undefined"
Null "object"
Boolean "boolean"
Number "number"
String "string"
Object (native and
doesn’t implement
[[Call]])
"object"
Object (native and
implements [[Call]])
"function"
Object (host) Implementation-dependent
可以看到,对于Null类型的值(只有null),规范就是定义返回"object"这个字符串。但是本质上Null和Object不是一个数据类型,null值并不是以Object为原型创建出来的。所以null instanceof Object是false。但从这里也可以看到,null确实是javascript中用来表示空引用的一个特殊值。使得它不是instanceof Ojbect,而typeof null是“object”。在语义上也是可以理解的。
分享到:
相关推荐
在吃透了前面所说的书之后,接下来两本书的顺序已经无关紧要了...《JavaScript设计模式》主要讲Javascript的设计模式,说实话,翻译的质量很一般,有些生硬,但已经基本不影响你的学习,看代码完全可以理解出自己的意思
### JavaScript中的`<script type="text/javascript">`标签详解 #### 标签含义与作用 在Web开发中,`<script>`标签是HTML文档中用于嵌入或引用JavaScript代码的关键元素之一。它允许开发者直接在HTML文档内部编写...
JavaScript是一种广泛应用于现代网页和网络应用的直译式脚本语言,主要由Netscape公司的LiveScript发展而来,后来为了增强与Java的兼容性而命名为JavaScript。它是一种动态类型、弱类型的语言,基于原型,内置支持...
### JavaScript中的`void(0)`具体含义解释 #### 一、`void`操作符简介 在JavaScript中,`void`操作符是一个特殊的操作符,它主要用于计算一个表达式但不返回任何值。换句话说,`void`操作符可以用来执行一些副作用...
113.javaScript:它和标签语言都属于描述性的语言,用于和html结合从而强化网页数据的展现,虽然语法和结构上和java类似,但实际上它是和java完全不同的一门语言,它只是函数式的语言,其实从字面意思看,它就是java...
### 使用JavaScript验证窗口是关闭还是刷新 在Web开发过程中,我们常常需要监控用户与网页的交互行为,包括但不限于用户关闭浏览器窗口、刷新页面等动作。这些事件对于网站来说非常重要,可以用于实现各种功能,...
精通JavaScript(图灵计算机科学丛书) ,让你大开眼界的 JavaScript 力作,跟随 jQuery 之父到达前所未有的深度,Amazon 五星盛誉图书。...ps:共4个压缩包,只有第一个意思一下收取2分 后续不再收费 嘻嘻
JavaScript交互在IT领域中主要指的是Web应用程序与移动应用(如Android)之间的通信,这是一种常见的跨平台技术,使得原生移动应用能够利用Web技术来增强功能和用户体验。在Android平台上,JavaScript交互通常涉及到...
这里需要注意的是,原始代码中的一些字符如“ʯͷ”、“m--Ӯn--ƽk--”等似乎是乱码,实际应该是“石头”、“玩家胜利--平局--电脑胜利”的意思。为了便于理解,我们可以假设玩家的输入是正确的,并且在每个`if`...
在JavaScript环境中,MDUI调色盘是一个关键元素,它允许开发者根据Material Design的指导原则定制和调整应用的主题颜色,以达到最佳的视觉效果和用户体验。 在MDUI中,调色盘是基于Material Design的颜色系统,这个...
需要注意的是,函数和方法在中文里的意思相当,但是在 JavaScript 中,它们还是有所区别的。函数本身是一个对象,而当作为一个方法时,它属于一个对象的方法,相当于一个对象的属性。 call() 和 apply() 方法 `...
### JavaScript中的`void(0)`含义 在探讨`javascript:void(0)`的具体含义之前,我们首先需要理解`void`操作符的基本概念。`void`是一个JavaScript操作符,用于指定计算一个表达式但不返回任何值。换句话说,`void`...
(内置对象的意思就是该对象在页面载入的时候就自动创建,可以无需定义直接使用) JavaScript的功能是无穷无尽的,只要你有创意。JavaScript使网页增加互动性,JavaScript使有规律地重复的HTML文档简化,减少下载...
### "a href=javascript void(0)" 的含义与应用场景 在HTML中,`a`标签是用来创建超链接的,而`href`属性则定义了链接的目标地址。在实际开发过程中,有时我们会遇到`a href="javascript:void(0)"`这样的写法。本文...
JavaScript是互联网上最广泛使用的脚本语言之一,主要用于客户端的网页交互。它允许开发者在用户浏览网页时动态改变内容、处理表单数据、创建动画效果等。JavaScript代码可以直接嵌入到HTML文档中,通过`<script>`...
JavaScript :watermelon: 和面向对象的编程 :frog: 当我想到JavaScript及其应用程序时,OOP并不是我想到的第一件事。 JavaScript本身并不强加一个面向对象的范例,但是它很灵活,因此您可以在认为合适的情况下应用该...
此工具为工具产品!加密会形成乱码!让人看不懂的意思!
JavaScript幻灯片(相簿效果)是一种常见的网页交互设计,用于展示一组图片或内容,以自动或手动的方式在页面上循环播放。这种效果通常应用于网站的首页、产品展示或者个人相册,为用户提供动态且吸引人的浏览体验。...