函数的作用域
全局变量
在页面的任何地方都能访问到的变量,拥有全局的作用域
- 函数的最外层定义的变量
- 没有直接赋值的变量,拥有全局属性
局部变量
只能在固定的代码片段中访问到
- 在函数内部定义的变量;
- 参数也是局部变量
return
给函数一个返回值,并且终止跳出当前函数
return的返回值
- 返回值可以是任何的数据类型
- 只能返回一个返回值
- 如果没有返回值,默认值为undefined
递归函数
在函数内部调用它自己本身
JavaScript内置顶层函数
escape() 将非字母,数字字符进行编码
unescape() 对编码的字符串进行解码
- Number() 转换成数值类型
- 如果是布尔值,false为0,true为1
- 如果是数字,转换成为本身。将无意义的后导0去掉。
- 如果null转换为0
- 如果是undefined 转换为 NaN not a number
- 如果是字符串
- 如果字符串当中只有数字,转换为10进制(忽略前导0和后导0)
- 如果是有效的规范的浮点型,转换为浮点值(忽略前导0和后导0)
- 如果是空字符串,则转换为0
- 如果是其他的值,返回NaN
- String() 转换成字符串类型
- 可以将任何的类型转换为字符串
- null和undefined: 也都会转换为字符串,分别是 null和undefined
- 布尔类型:会返回true 和false
- 数值类型:本身的字符串
- Boolean() 转换成布尔类型
- 转换为假: ""、 0、 NaN 、undefined、false,null
- 其他的全部都转换为真。
- parseInt() 将字符串转换为整型
- .如果一个字符串只包含数字,则以10进制的方式转换为整型
- 自动忽略字符串前面的空格,直到找到第一个非空的数值字符串,如果字符串的第一个字符不是空格、数字、-,那么返回NaN
- parseFloat() 转换为小数
- 字符串当中的 . 只有第一个有效,其他的都是无效的
- .如果字符串是一个有效的整数,他返回的是整数,不会返回浮点数
- isNaN() 判断一个数能否转换为数值类型
- 如果能转换成数值返回假,不能转换成数值类型,返回真
JavaScript数据强制转换
- Number() 转换成数值类型
- String() 转换成字符串类型
- Boolean() 转换成布尔类型
- parseInt() 将字符串转换为整型
- parseFloat() 转换为小数
数据类型隐式转换
- 算术运算符
- 关系运算符
- 逻辑运算符
- if
- while
- 三元表达式