js数据类型 判断
1. js数据类型(两种数据类型)
- 基本数据类型:null undefined number boolean symbol string
- 引用数据类型: array object
null: 空对象
document.getElementById('')
//娶不到的时候返回 null
undefined: 未定义
//1. 定义一个对象 但是没有赋值 //2.访问数组不存的下标(数组越界) //3.访问对象不存在的属性 //4.一个没有返回值的函数 默认返回 undefined
2.判断数据类型
typeof
typeof 'q' "string" typeof 123 "number" typeof true "boolean" typeof null "object" typeof undefined "undefined" typeof function() {} "function" typeof [1,2] "object" typeof {a:'1'} "object"
判断不了数组和对象
// 方案一 [].constructor === Array // true
a = {a:'1'}
{a: "1"}
a.constructor === Object
// true
//方案二 arr instanceof Array //判断arr是否是Array实例化对象
//方案三 有兼容性问题 ie8以上 Array.isArray(arr)
对象
var obj = { name: '', function = function(){} }
//类 就是具有相同属性和方法的对象集合
function Person(name) { this.name = name this.eat = function() {} //一般方法不写在这里 //因为每次实例化一个对象 //等于新new Function一个函数 }
定义一个类 属性写在构造函数中 方法写在原型上
因为:构造函数为私有变量和函数 会重新声明 要是我们需要公共函数(执行相同效果的函数)
原型上的变量和函数 为共有 且不能传参制作私有变量。引用类型变化会显示在所有实例
对象是属于存在堆内存中
堆内存 栈内存
基本数据类型存在栈内存
引用数据类型存在堆内存
//所以引用类型的变量 声明的时候 其实是指向堆内存中的一个地址
所以传参的时候,引用类型的任何一个地方的改变会影响全局
继承
本人是一个技术爱好者
1.但是每个技术爱好者都是从萌新开始的
2.我所有的博文都是我各方资料查阅(看的比较乱比较杂,因为有些是群里讨论等等来源,无法辨别出处,所以我的文章都是没有写明出处,都是我个人消化后整理,)
3.但是没有经过我实践的我一般会标注
4.希望大家共同交流共同进步,指出我的不足 谢谢

浙公网安备 33010602011771号