JS数据类型

JS数据类型

JS拥有动态类型,同样的变量可以赋予不同类型的值。JS(动态语言)。

var x;               // x 为 undefined
var x = 1;           // 现在 x 为数字
var x = "one";      // 现在 x 为字符串

JS数据类型分类:
基本类型:Numbers 、String 、 Null 、 Undefined、Boolean、Symbol(复杂类型)。
引用数据类型:object array function

Number

数字类型,表示数字,可以是小数,可以使用科学计数法表示。

var num1 = 100;
var num2 = 100.001;
var num3 = 1e5  //100000
String

字符串类型

var = 'It is a string';
var = " YES";
Boolean

布尔值只有 true 和 false 两个值。

var boolean1 = true;
var boolean2 = false;
symbol

ES6 新增加的数据类型,表示独一无二的值。

null

空值 ,并非0和"",等同于python 中的None。

undefined

未定义,未定义值得标量,值为undefined,类型也为undefined。

var m ;
m = undefined;

null 与 defined 的区别:
undefined:是所有没有赋值变量的默认值,自动赋值。
null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址
在 js 中 null 是subject 类型。

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

typeof undefined           // undefined
typeof null                // object

null === undefined         // false 值相等,数据类型不等。
null == undefined          // true  值相等

PS:typeof 返回数据类型。
基本数据类型:numbers string boolean undefined
复杂数据:function object
数组和null的typeof值为object。

object

类似于python 的字典。其中键值对称为属性。

var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

属性访问的两种方式:
person.lastName;
person[“lastName”];

方法:
对象的方法定义了一个函数,并作为对象的属性存储。
对象方法通过添加 () 调用 (作为一个函数)。

<script>
var person = {
    firstName: "John",
    lastName : "Doe",
    id : 5566,
    fullName : function() 
	{
       return this.firstName + " " + this.lastName;
    }
};
document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:"  + person.fullName;
document.getElementById("demo2").innerHTML = "加括号输出函数执行结果:"  +  person.fullName();
</script>

执行结果:

不加括号输出函数表达式:function() { return this.firstName + " " + this.lastName; }

加括号输出函数执行结果:John Doe
function
function functionname()
{
    // 执行代码
}

变量生存周期:
JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。


版权声明:本文为weixin_41743686原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。