javascript基础总结梳理(持续更新)

125 阅读1分钟

一、js基本数据类型

基本数据类型:string number boolean null undefined symbol

null:

表示一个空对象指针,用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象

undefined:
// 1、定义了变量没有赋值
var a;
console.log(a); //undefined

// 2、数组越界
var arr=[1,2,3];
console.log(arr[5]); //undefined

// 3、访问对象没有的属性
var obj={
    name:'xiaoming'
}
console.log(obj.age); //undefined

// 4、函数默认返回undefinded
function fn(){
    console.log("执行")
}
console.log(fn());  //undefined

typeof

console.log(typeof 'aaa'); //string
console.log(typeof 123); //number
console.log(typeof true); //boolean
console.log(typeof null); //object
console.log(typeof 函数); //function
console.log(typeof [1,2,3]); //object
console.log(typeof {name:'sss'}); //object

引用数据类型:array object

判断是数组或对象
var arr=[1,2,3];
console.log(arr.constructor  === Array); //true  constructor 返回实例的构造函数

console.log(arr instanceof Array); //true 
console.log(Array.isArray(arr)); //true

var obj={name:'xiaoming'}
console.log(obj.constructor === Object); //true

console.log(obj instanceof Object); //true 

二、对象、类

类:具有相同属性和方法的集合

// 构造函数 类
function Person(name,age){
    this.name=name;
    this.age=age;
}
// prototype原型对象:定义在原型对象下所有属性和方法能被所有实例化对象共享
Person.prototype.eat=function(){
    console.log("eat.....")
}

var person1=new Person('小明',18);
var person2=new Person('明仔',11);

栈和堆

基本数据类型声明时在栈中开辟内存。
引用数据类型声明时,在堆中开辟内存,把指向堆内存的地址(指针)保存在栈内存中。