字符串与数字/字符串之间的比较:
数字和字符串比较,浏览器会把字符串转化成数字类型(parseInt()),如果没有数字,是NaN类型,则为false
字符串和字符串比较,会转换成ASCII码,首字母比较
局部变量与全局变量
function text(){
num = 1;
}
text();
alert(num)
结果会弹出1,因为变量的提升,将num提升成了全局变量,相当于window.num
typeof() 返回的类型有以下几种:
- 数字类型
- 字符串类型
- 对象
- 布尔类型
- undefined
- function 函数
注:typeof一个数组,弹出的类型为对象
return 返回值
return相当于break,只要出现return,后面的指令不执行,return后面的返回值给调用的函数,可以返回变量,数组,函数运算,对象
例:返回变量
function text(num) {
return num;
}
alert(text(2))
弹出的值是2
例:返回简单的运算
function text2() {
return 3 + 2;
}
alert(text2())
弹出的值是3+2的和,为5
例:返回数组
var arr=[0,1,2,3,4];
function text2() {
return arr;
}
alert(text2()) ;
返回的是一个数组[0,1,2,3,4]
例:返回一个对象
var obj1 = {
name:'张三'
}
function text2() {
return obj1.name;
}
alert(text2())
弹出的结果为张三
例:返回一个函数
function text1() {
return t()
}
function t() {
alert('hello')
}
alert(text1());
弹出的结果为函数t()里的hello
函数的提升
例:
test();
function test() {
alert('helllo world');
}
执行这个函数,会弹出hello world,这是因为函数的提升,所以浏览器真正执行的顺序是
function test() {
alert('helllo world');
}
test();
注:匿名函数不会提升
例:
test();
var test = function (){
alert('helllo world');
}
执行这个函数,会报错,因为这是一个匿名函数,不会提升