1 变量以及数据类型

1.变量

  声明方式:var 变量名 = 值;

  强调:仅声明但为赋值的变量,默认值为undefined.

  特殊情况:

    1.为一个从未声明过的变量赋值,不会出错,会自动创建同名变量,再保存数据

    2.从一个从未声明过的变量中取值,会出错:ReferenceError  未找到或未定义

  声明提前:在程序开始执行前,会将所有的var声明的变量提前到开始位置,集中创建,赋值留在原地

2.数据类型

  js中的数据类型:

    1.原始类型:值保存在变量本地

      Number / String / Boolean / undefined / null

    2.引用类型:值不保存在变量本地

      Date / Array / RegExp / Function / Global / Math

  Number类型

    1.数字所占空间与数字大小无关,每个数字占8个字节

    2.舍入误差:n.toFixed(x)  n按照x位小数四舍五入

  String类型

    1.字符串一旦创建,不能改变,要想改变,只能创建新字符串,替换旧字符串

3.数据类型转换

  说明:js是弱类型编程语言:

    1.声明变量时,不需要规定变量的数据类型

    2.赋值时,动态决定变量的数据类型,一个变量可先后保存不同的数据类型。

    3.运算时,js会根据实际需求动态转换数据类型

  1.隐式转换:不需要程序员参与的js自动完成的类型转换(仅讨论两种)

 算术计算中,所有类型都转换成Number类型再计算(+运算中,一方为String类型,就变成了字符串拼接)

  2.显式转换:程序员通过主动调用专门函数,执行转换

 1.任意类型 to String

  var str=x.toStirng / var str=String(x)[隐式转换的本质]

 2.任意类型 to Number

  var n=Number(x)

  var n=parseInt(str)/parseFloat(str) [String->Number]

 3.任意类型 to Boolean

  var boolean=Boolean(x)  ["" / NaN / undefined / null / 0为false]

原文地址:https://www.cnblogs.com/controlms/p/7728113.html