💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 简单数据类型 Number 数字类型 包含正数 负数 小数 字符串 String 凡是用双引号或者单引号引起的都是字符串。 布尔数据类型 Boolean 只有2个值一个是true, 一个是false. 实际运算中true=1,false=0 undefined 变量未初始化 定义了变量,没有给变量赋值 null 变量未引用值为空 object # 复杂数据类型 ★ object 对象 ★ array 数组 # 判断数据类型 typeof() # 对象 ## 对象创建方式 * 对象字面量 ~~~ var o = { name: 'zs', age: 18, sex: true, sayHi: function () { console.log(this.name); } }; ~~~ * new Object()创建对象 ~~~ var person = new Object(); person.name = 'lisi'; person.age = 35; person.job = 'actor'; person.sayHi = function() { console.log('Hello,everyBody'); } ~~~ * 工厂函数创建对象 ~~~ function createPerson(name, age, job) { var person = new Object(); person.name = name; person.age = age; person.job = job; person.sayHi = function(){ console.log('Hello,everyBody'); } return person; } var p1 = createPerson('张三', 22, 'actor'); ~~~ * 自定义构造函数 ~~~ function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.sayHi = function(){ console.log('Hello,everyBody'); } } var p1 = new Person('张三', 22, 'actor'); ~~~ ## new关键字 > 构造函数 ,是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 1. 构造函数用于创建一类对象,首字母要大写。 2. 构造函数要和new一起使用才有意义。 new在执行时会做四件事情 ~~~ new会在内存中创建一个新的空对象 new 会让this指向这个新的对象 执行构造函数 目的:给这个新对象加属性和方法 new会返回这个新对象 ~~~ ## this详解 ~~~ JavaScript中的this指向问题,有时候会让人难以捉摸,随着学习的深入,我们可以逐渐了解 现在我们需要掌握函数内部的this几个特点 1. 函数在定义的时候this是不确定的,只有在调用的时候才可以确定 2. 一般函数直接执行,内部this指向全局window 3. 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象 4. 构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化 ~~~ # 对象的使用 ## 遍历对象的属性 > 通过for..in语法可以遍历一个对象 ~~~ var obj = {}; for (var i = 0; i < 10; i++) { obj[i] = i * 2; } for(var key in obj) { console.log(key + "==" + obj[key]); } ~~~ ## 删除对象的属性 ~~~ function fun() { this.name = 'mm'; } var obj = new fun(); console.log(obj.name); // mm delete obj.name; console.log(obj.name); // undefined ~~~