JS中的数据类型

mac2026-03-26  7

原始属于类型

number,string,boolean,undefined,null,object

1.基本类型/简单类型/值类型

number,string,boolean

2.引用类型

object

3.空类型

undefined,null

声明变量

var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。

存储位置

值类型: 栈引用类型 :堆(引用变量在栈)

值类型和引用类型的赋值

值类型 :赋值就是拷贝引用类型:赋值就是传址

包装数据类型 (类似java包装类)

var num = 10; 这是一个基本数据类型number,如果他调用了属性如:num.toString();则会转换成包装类型注意: 如下代码 var flag = new Boolean(false); var f = flag&&true; console.log(f) //结果为true

原因:任何对象&&true结果都是true

var flag = new Boolean(false); var f = true&&flag; // 如果反过来 console.log(f) //结果是Boolean 对象 var n = Number("10"); //这个是基本类型,把str转num

JS是一门什么样的语言

解释型语言 :不预编译基于对象的语言 :但不是面向对象的语言,也就是说他没有继承、多态的特性,但可以进行模拟,来实现面向对象脚本语言 :script动态语言 :代码(变量)只有执行到这个位置的时候,才知道这个变量中到底存储的是什么。没有什么“ . ”什么,那么就可以为对象添加属性或者方法。弱类型语言 :var

创建对象的方式

调用系统的构造函数创建对象 var obj = new Object(); obj.name = "wang"; obj.f1 = function () { console.log(this.name); }; obj.f1();//调用 工厂函数模式创建对象 function persion(na) { var oo = new Object(); oo.name = na; oo.f1 = function () { console.log(oo.name); }; //注意:返回对象 return oo; } persion("wang").f1(); 自定义构造函数创建对象 //注意:构造函数名称大写 function Person() { this.name = "haha"; this.f1 = function () { console.log(this.name); } } var person = new Person(); person.f1(); //改值 person.name = "aaa"; //或 person["name"] = "aaa"; //调用方法 person["f1"](); 字面量的方式创建对象 //注意赋值的方式是分号 //缺点:无法改值,一次性的对象。 var obj = { name: "wang", f1: function () { console.log(this.name) } }; //调用 obj.f1();

new Person(); 执行这条语句进行了如下操作: 4. 申请内存空间 5. 将this设置为当前对象 6. 设置对象的属性和方法,如果有的话 7. 返回本对象(this)


JSON (JavaScript 对象表示法)

以键值对的形式进行存储

var json = { "name":"小明", "age":18, "sex":true }; //获取属性的值 console.log(json.name); //注意,使用.的方式要保证这个属性名存在,否则会创建新的属性 console.log(json["name"]); //迭代json对象中所有属性的值 for (var key in json) { console.log(json[key]); }
最新回复(0)