🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # JaveScript 面向对象 ## 1.组成 三部分: ECMAScript:js语法,变量,运算符,循环for,函数,数组,内置对象 DOM:Document Object Model 文档对象模型 BOM: Browser Object Model 浏览器对象模型 ## 2.数据类型 ### 2.1基本数据类型 (简单数据类型,值类型) 1)数值型数据(整数和小数) number 2) 字符型数据 string 3) 布尔类型 boolean (true false) 3) 空 null 4) 未定义 undefined ### 2.2 复合数据类型(复杂数据类型,引用数据类型) 1) 对象 Object 2) 函数 Function 3)日期 Date 4)正则表达式 5)基本包装类型 Number,String,Boolean(可以**调用属性和方法**) >[warning]复杂数据类型: 数组(Array),函数(Function),错误(Error),数学(Math),字符串(String),数字(Number),布尔(Boolean) ***** 存放在堆内存里面 ,引用数据类型传递的是内存地址,一旦修改,全局和局部都会改变 ``` var obj = {name:"Neld",age:10}; function fun(objM) { console.log(objM.name);//Neld objM.name = "Song"; console.log(objM.name);//Song } fun(obj); console.log(obj.name);//Song ``` #### 2.2.1对象的语法 var obj = { 键1:值1,(键值对) 键2:值2, 键3:值3, 。。。 } ***** 定义空数组: var arr = []; 定义空对象: var obj = {}; ***** 数组可以嵌套,对象也可以嵌套 ### 2.3 检测数据类型 typeof 语法: typeof 变量 或者 typeof(变量) **返回值是字符串** ![](https://img.kancloud.cn/7a/eb/7aeb23abb34e39548c527aaccc21cf57_615x76.png) ***** **值类型只有null用typeof检测返回的是Object,其他的值类型返回的是默认的数据类型** **引用数据类型特殊的是function,它用typeof测返回的是function,其他返回都是Object** ## 3.null和undefined的区别 空 null **一开始没有,后面会有** ***** 未定义 undefined **一开始没有,后面也没有** ***** ![](https://img.kancloud.cn/b8/5b/b85b51a9a9ca3dea61e12391fa47532c_645x123.png) **隐士转换:==,-,*,%**