编写JavaScript代码时,总遇到运行顺序与所预想的不太一样。在此做一下总结,如若有什么意见请留言。
一、变量的声明和引用
变量必须先声明后引用。
alert(myStr); // 弹出"undefined";
var myStr = "Hello World!";
alert(myStr); // 弹出"Hello World";
二、函数的声明和引用
JavaScript是一种描述型脚本语言,有浏览器进行动态的解析与执行。
函数的定义方式有两种,浏览器对于不同的定义方式有着不同的解析顺序。
//“定义式”函数定义-函数声明语句(《JavaScript权威指南》对应名词)
function Fn1(){
alert("Hello World!");
}
//“赋值式”函数定义-函数定义表达式(《JavaScript权威指南》对应名词)
var Fn2 = function(){
alert("Hello wild!");
}
//此处采用《JavaScript权威指南》中的术语
函数声明语句通常出现在JavaScript代码的最顶层,也可以嵌套在其他函数体内。但是在嵌套时,函数声明只能出现在所嵌套的函数的顶部。也就是说,函数定义语句不能出现在if语句,while循环等语句中。而且这种嵌套的移植性差。
尽管函数声明语句和函数定义表达式包含相同的函数名,但是二者仍然不同。
- 相同点:这两种方式都创建了函数对象