博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《悟透javascript》中的知识点
阅读量:5073 次
发布时间:2019-06-12

本文共 1099 字,大约阅读时间需要 3 分钟。

简单的数据类型只有undefined, null, boolean, number和string。

typeof(undefined)返回的也是undefined。

typeof(null)返回object,但null并非object,具有null值的变量也并非object。

typeof(NaN)和typeof(Infinity)都返回Number。NaN参与任何数值计算的结果都是NaN,而且NaN!=NaN,Infinity/Infinity=NaN。

JavaScript里“===”表示“全等”,也就是数据值与数据类型都必须相等才是true。如undefined==null、”123”==123是true,但undefined===null、”123”===123是false。

 

JavaScript函数只是一个命了名的变量,变量类型即为function,变量的值就是我们编写的函数代码体。所以下面两段代码除了一点细微的差别,其内部实现完全相同。

定义式

  

1: 

 

变量式

   

1: 

 

细微的差别在于,Javascript执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。而且,在同一段程序的分析执行中,定义式的函数语句会被提取出来优先执行。函数定义执行完之后,才会按顺序执行其他语句代码。也就是说,两个相同函数名的定义式的函数在同一段程序中时,第一个函数将被第二个函数覆盖,所以代码段中所有调用此函数的地方执行的都是第二个函数定义中的语句。(这和c等不一样)

  

1: 

 

结果:第一个弹出“hello”,第二个弹出“yeah”。

   

1: 

 

结果:两个都弹出“yeah”。

:    7: 

 

结果:第一个弹出“hello”,第二个弹出“yeah”。

 

在JavaScript里的全局环境就是一个对象,这个对象是JavaScript运行环境的根。对于浏览器中的JavaScript来说,这个根对象就是window对象。对于全局的JavaScript来说,window对象就相当于当前作用域。

“var”定义的是作用域上的一个变量,而没有“var”的标识符却可能是全局根对象的一个属性。

当代码运行进入一个函数时,JavaScript会创建一个新的作用域,来作为当前作用域的子域,然后切换至这个新建的子作用域,开始执行函数逻辑。

 

原文地址:http://www.cnblogs.com/stwyhm/archive/2010/10/26/1861517.html

 

转载于:https://www.cnblogs.com/101rico/archive/2013/02/04/2892289.html

你可能感兴趣的文章
eclipse下的tomcat内存设置大小
查看>>
数据库链路创建方法
查看>>
linux文件
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
vmware tools 的安装(Read-only file system 的解决)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
数据库图片存储也读取
查看>>
jQuery如何获得select选中的值?input单选radio选中的值
查看>>
粘贴板工具,剪切板工具
查看>>
设计模式 之 享元模式
查看>>
查看数据库是否有死锁
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
15 FFT及其框图实现
查看>>
Linux基本操作
查看>>
osg ifc ifccolumn
查看>>
C++ STL partial_sort
查看>>