JavaScript

1. JavaScript的组成

  • ECMAScript:JavaScript的语法标准
    • ECMA是一个组织,即欧洲计算机制造商协会
    • ECMAScript是ECMA制定的脚本语言标椎,规定了一种脚本语言实现包含的基本内容
    • JavaScript是脚本语言的一种,所以JavaScript也必须遵守ECMAScript标准,包含ECMAScript标准中规定的基本内容
  • DOM:JavaScript操作网页的元素API
  • BOM:JavaScript操作浏览器的部分功能API

2. JavaScript和HTML、CSS的关系

  • HTML:是用来制作网页,简单来说就是编写网页结构
  • CSS:美化网页(样式)
  • JavaScript:实现页面与客户之间互动的桥梁,让网页具有丰富的生命力

3. JavaScript语法规范

  • 三种书写格式:行内式、页内式、外链式
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>JavaScript三种书写格式</title>
</head>

<body>
	<!-- 行内式 -->
	<button onclick="alert('行内式')">行内式</button>

</body>

<!-- 页内式 -->
<script type="text/javascript">
	alert("页内式")
</script>

<!-- 外链式 -->
<script type="text/javascript" src="js/01_外链式.js"></script>

</html>

4. JavaScript输出方式

  • alert()
<script type="text/javascript">
	alert("页内式")
</script>

  • console.log()console.warn()console.error()
<script type="text/javascript">
	console.log("输出内容");
	console.warn("警告输出");
	console.error("错误输出");
</script>
  • prompt()在网页弹出输入框,一般用于接收用户输入的信息
<script type="text/javascript">
	prompt("请输入内容")
</script>
  • confirm()用于显示一个带有指定消息和确认及取消按钮的对话框。
<script type="text/javascript">
	confirm('内容')
</script>

5. 变量、关键字、标识符

5.1 常量

<script type="text/javascript">
	// 数值常量
	console.log(3+5);
	console.log(3.3+5.5);

	// 字符串常量
	console.log('a'+'b');

	// 布尔常量
	console.log(true);
	console.log(false);

	// 特殊字符
	console.log('\n');
	console.log('\t');
	console.log('\r');
</script>

5.2 变量

  • 存储数据值的容器。
	<script type="text/javascript">
		// var 定义变量
		var name,age,sex;
		name = '张三';
		age = 20;
		sex = '男';
	</script>

5.3 标识符

  • 所有 JavaScript 变量必须以唯一的名称的标识。
  • 名称可包含字母、数字、下划线美元符号
  • 名称以字母$_ 开头
  • 名称对大小写敏感
  • 不能将保留字(比如 JavaScript 的关键词)作为变量名称

6. 数据类型

6.1 JavaScript 数据类型

  • 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
  • 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

  • JavaScript 拥有动态数据类型,这意味着相同变量可用作不同类型;
<script type="text/javascript">
	var x;//undefined
	var x = 5;//数字
	var x = "abc";//字符串
</script>

6.2 JavaScript 数组

<script type="text/javascript">
	// 创建数组的三种方法
	var arr = new Array()
	arr[0] = 1;

	var arr1 = new Array(1,2)

	var arr2 = [1,2]

	console.log(arr,arr1,arr2);
</script>

6.3 JavaScript 对象

<script type="text/javascript">
	// 对象
	var obj = {
	    name: '张三',
	    id: 67
	}
	console.log(obj.name);
	console.log(obj['name']);
</script>

6.4 Null 和 Undefined

<script type="text/javascript">
	var str1 = null;
	var str2 = undefined;

	console.log(str1 == str2); // true
	console.log(str1 === str2); // false
</script>

7 类型转换

7.1 数字转换为字符串

  • String()、toString()可以将数字转换为字符串。
    可用于任何类型的数字,字母,变量,表达式。

    <script type="text/javascript">
    	console.log(String([1, 2])); // 1,2
    	console.log(String(1 + 2)); // 3
    	console.log(typeof(String([1, 2]))); // string
    
    
    	console.log((1).toString());	// 1
    	console.log((1 + 2).toString());	// 3
    	console.log([1, 2].toString());	// 1,2
    </script>
    

    注意:null 和 undefined 没有 toString() 方法,强行调用会报错。

7.2 字符串转数字

  • Number() 字符串转数字
    如果是纯数字字符串,会直接将其转换为数字
    如果不是纯数字,则会转化为NaN
    null、空串转化为 0

    <script type="text/javascript">
    	console.log(Number('123'));	//123
    	console.log(Number('123a'));	// NaN
    	console.log(Number('\t'));	// 0
    	console.log(Number(""));	// 0
    	console.log(Number(null));	// 0
    	console.log(Number(NaN));	// NaN
    	console.log(Number(undefined));	// NaN
    	console.log(Number(true));	// 1
    	console.log(Number(false));	// 0
    </script>
    

7.3 解析字符串返回整数

  • parseInt(string, radix) 函数可解析一个字符串,并返回一个整数。

    • 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
      • 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
      • 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
      • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
  • parseFloat(string) 函数可解析一个字符串,并返回一个浮点数。

8 运算符

8.1 优先级

优先级运算符说明结合性
1[].()字段访问、数组索引、函数调用和表达式分组从左向右
2++ – -~!delete new typeof void一元运算符、返回数据类型、对象创建、未定义的值从右向左
3*、/、%相乘、相除、求余数从左向右
4+、-相加、相减、字符串串联从左向右
5<<、>>、>>>左位移、右位移、无符号右移从左向右
6<、<=、>、>=、instanceof小于、小于或等于、大于、大于或等于、是否为特定类的实例从左向右
7==、!=、===、!==相等、不相等、全等,不全等从左向右
8&按位“与”从左向右
9^按位“异或”从左向右
10|按位“或”从左向右
11&&短路与(逻辑“与”)从左向右
12||短路或(逻辑“或”)从左向右
13?:条件运算符从右向左
14=、+=、-=、*=、/=、%=、&=、=、^=、<、<=、>、>=、>>=混合赋值运算符
15,多个计算按优先级计算,然后从右向左

9 流程控制

9.1 基本概念

  • 默认情况下,程序的运行流程是这样的:运行程序后,系统会按照书写从上往下的顺序执行程序中的每一行代码,但是这样并不能满足我们所有的开发需求。
  • 实际开发中,我们需要根据不同的条件执行不同的代码或者重复执行某一段代码。
  • 为了方便我们控制程序的流程,JavaScript 提供 3 种流程结构,不同的流程结构可以实现不同的运行流程。这 3 种流程结构分别是顺序、选择、循环三种基本控制结构构造。

9.2 流程控制语句

  • if
<script type="text/javascript">
	if (条件 1) {
		条件 1true 时执行的代码块
	} else if (条件 2) {
		条件 1false 而条件 2true 时执行的代码块
	} else {
		条件 1 和条件 2 同时为 false 时执行的代码块
	}
</script>
  • switch
<script type="text/javascript">
	switch(表达式) {
		case n:
		代码块
		break;
		case n:
		代码块
		break;
		default:
		默认代码块
	} 
</script>
  • while循环
<script type="text/javascript">
	while (条件)
	{
		需要执行的代码
	}
</script>
  • dowhile循环
<script type="text/javascript">
	do {
		执行代码
	} while (条件);
</script>
  • for循环
<script type="text/javascript">
	for (语句 1; 语句 2; 语句 3)
	{
		被执行的代码块
	}
</script>

10. 数组

  • 数组对象的作用是:使用单独的变量名来存储一系列的值。

10.1 创建数组

<script type="text/javascript">
	// 使用 Array 构造函数
	var arr1 = new Array(); // 创建一个空数组
	console.log(arr1);

	var arr2 = new Array(20); //创建一个长度为20的数组
	console.log(arr2);

	var arr3 = new Array(1, 2, 3, 4, 5); // 创建并初始化数组
	console.log(arr3);


	// 使用数组字面量
	var arr4 = [];  // 创建一个空数组
	console.log(arr4);

	var arr5 = [6,7,8,9];  // 创建并初始化数组
	console.log(arr5);
</script>

10.2 常用操作

<script type="text/javascript">
	var arr = [1,2,3,4];

	console.log(arr.length);  // 获取数组长度
	arr.length = 10;  // 定义数组长度
	console.log(arr.length);

	console.log(arr[1]); // 获取数组里面的元素
</script>

10.3 常用方法

  • join()

    • join() 方法用于把数组中的所有元素放入一个字符串。通过指定的分隔符(默认逗号)进行分隔。
    • 语法:arrayObject.join(separator)
    • <script type="text/javascript">
      	var arr = ['a','b','c'];
      	console.log(arr.join('*')); // a*b*c
      </script>
      
  • push()pop()

    • push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    • 语法:arrayObject.push(newelement1,newelement2,....,newelementX)
    • <script type="text/javascript">
      	var arr = [1,2,3];
      
      	console.log(arr); // (3) [1, 2, 3]
      	console.log(arr.push('a')); // 4
      	console.log(arr); //(4) [1, 2, 3, 'a']
      </script>
      
    • pop() 方法用于删除并返回数组的最后一个元素。
    • 语法:arrayObject.pop()
    • 如果数组为空,则 pop() 不改变数组,并返回 undefined 值。
    • <script type="text/javascript">
      	var arr = ['c'];
      
      	console.log(arr);  //['c']
      	console.log(arr.pop()); // c
      	console.log(arr);  //[]
      	console.log(arr.pop()); // undefined
      </script>
      
  • shift()unshift()

    • shift() 方法用于把数组的第一个元素从其中删除,并返回被删除元素的值。
    • 语法:arrayObject.shift()
    • 如果数组为空,shift() 方法不进行任何操作,返回 undefined 值。
    • <script type="text/javascript">
      	console.log('---------shift--------');
      	var arr = ['a','b']; 
      
      	console.log(arr);  //(2) ['a', 'b']
      	console.log(arr.shift()); // a
      
      	arr = []
      	console.log(arr.shift()); // undefined
      </script>
      
    • unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
    • 语法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
    • <script type="text/javascript">
      	console.log('---------unshift--------');
      	var arr = [1,2,3];
      
      	console.log(arr); // (3) [1, 2, 3]
      	console.log(arr.unshift('a'));  // 4
      	console.log(arr); // (4) ['a', 1, 2, 3]
      	console.log(arr.unshift('c','d'));  // 6
      	console.log(arr);  //(6) ['c', 'd', 'a', 1, 2, 3]
      </script>
      
  • sort()

    • sort() 方法用于对数组的元素进行排序。
    • 语法:arrayObject.sort(sortby)
    • <script type="text/javascript">
      	console.log('---------sort--------');
      	var arr = ['10','1','123','5'];
      
      	function sortNum(a,b) {
      		return a-b;
      	}
      
      	console.log(arr.sort(sortNum)); // (4) ['1', '5', '10', '123']
      </script>
      
  • reverse()

    • reverse() 方法用于颠倒数组中元素的顺序。
    • 语法:arrayObject.reverse()
    • <script type="text/javascript">
      	console.log('---------reverse--------');
      	var arr = ['10','1','123','5'];
      
      	console.log(arr); // (4) ['10', '1', '123', '5']
      	console.log(arr.reverse()); //(4) ['5', '123', '1', '10']
      	console.log(arr); //(4) ['5', '123', '1', '10']
      </script>
      
  • concat()

    • concat() 方法用于连接两个或多个数组。
    • 语法:arrayObject.concat(arrayX,arrayX,......,arrayX)
    • <script type="text/javascript">
      	console.log('---------concat--------');
      	var arr1 = [1,2,3];
      	var arr2 = ['a','b','c'];
      
      	console.log(arr1.concat(arr2)); //(6) [1, 2, 3, 'a', 'b', 'c']
      	console.log(arr1); //(3) [1, 2, 3]
      	console.log(arr2); //(3) ['a', 'b', 'c']
      </script>
      
  • slice()

    • slice() 方法可从已有的数组中返回选定的元素。
    • 语法:arrayObject.slice(start,end)
    • <script type="text/javascript">
      	console.log('---------slice--------');
      	var arr = ['a','b','c'];
      
      	console.log(arr.slice(1)); // (2) ['b', 'c']
      	console.log(arr.slice(1,2)); // ['b']
      	console.log(arr.slice(-1)); // ['c']
      </script>
      
  • indexOf()lastIndexOf()

    • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
    • lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
    • 语法:stringObject.indexOf(searchvalue,fromindex)
    • <script type="text/javascript">
      	console.log('---------indexOf--------');
      	var arr = ['a','c','b','a','c'];
      
      	// indexOf
      	console.log(arr.indexOf('a')); // 0
      	console.log(arr.indexOf('a',2)); // 3
      	console.log(arr.indexOf('f')); // -1
      
      
      	// lastIndexOf
      	console.log(arr.lastIndexOf('a')); // 3
      	console.log(arr.lastIndexOf('a',2)); // 0
      	console.log(arr.lastIndexOf('f')); // -1
      </script>
      
  • forEach()

    • forEach() 方法对数组的每个元素执行一次提供的函数。
    • 语法:array.forEach(function(currentValue, index, arr), thisValue)
    • thisValue:可选。传递给函数的值一般用 “this” 值。
      如果这个参数为空, “undefined” 会传递给 “this” 值
    • <script type="text/javascript">
      	console.log('---------forEach--------');
      	var arr = ['a','b','c'];
      
      	arr.forEach(function(value,index,array){
      		console.log('value:',value,'index:',index,'array:',array);
      	}) 
      	console.log(arr);
      </script>
      
      在这里插入图片描述
  • map()

    • map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    • 语法:array.map(function(currentValue,index,arr), thisValue)
    • thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
      如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。
    • <script type="text/javascript">
      	console.log('---------map--------');
      	var arr = [1,2,3];
      
      	arr.map(function(value,index,array){
      		console.log('value:',value,'index:',index,'array:',array);
      	})
      	console.log(arr);
      </script>
      
      在这里插入图片描述
  • filter()

    • filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
    • 语法:array.filter(function(currentValue,index,arr), thisValue)
    • 可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
      如果省略了 thisValue ,“this” 的值为 “undefined”
    • <script type="text/javascript">
      	console.log('---------filter--------');
      	var arr = [5,10,9];
      
      	var arr1 = arr.filter(function(value,index,array) {
      		console.log('value:',value,'index:',index,'array:',array);
      		return value > 6;
      	});
      	
      	console.log(arr);
      	console.log(arr1);
      </script>
      
      ![
  • every()

    • every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

    • every() 方法使用指定函数检测数组中的所有元素:

      • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
      • 如果所有元素都满足条件,则返回 true。
    • 语法:array.every(function(currentValue,index,arr), thisValue)

    • thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
      如果省略了 thisValue ,“this” 的值为 “undefined”

    • <script type="text/javascript">
      	console.log('---------every--------');
      	var arr = [15,7,12];
      
      	var flag = arr.every(function(value,index,array){
      		return value > 8;
      	})
      	console.log(flag);
      </script>		
      

      在这里插入图片描述

  • some()

    • some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
    • some() 方法会依次执行数组的每个元素:
      • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
      • 如果没有满足条件的元素,则返回false。
    • 语法:array.some(function(currentValue,index,arr),thisValue)
    • thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。
      如果省略了 thisValue ,“this” 的值为 “undefined”
    • <script type="text/javascript">
      	console.log('---------some--------');
      	var arr = [15,7,12];
      
      	var flag = arr.some(function(value,index,array){
      		return value > 8;
      	})
      	console.log(flag);
      </script>
      
      在这里插入图片描述
  • reduce()reduceRight()

    • reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
    • reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。
    • 语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
    • initialValue:可选。传递给函数的初始值
    • <script type="text/javascript">
      	console.log('---------reduce--------');
      	
      
      	var arr = [1,2,3,4];
      	var sum = arr.reduce(function(total, value){
      		return total + value
      	})
      	console.log(sum);
      </script>
      

11. 函数

11.1 基本使用

  • 基本定义
    • 函数就是完成特定功能的一段代码
    • 函数就是可以重复执行的代码块
  • 语法:function name(参数 1, 参数 2, 参数 3) { 要执行的代码 }
  • <script type="text/javascript">
    	function myFun(a,b){
    		return a*b;
    	}
    
    	var c = myFun(3,5);
    	console.log(c); // 15
    </script>
    
  • 函数直接申明和表达式申明的区别
    在这里插入图片描述

11.2 arguments对象

<script type="text/javascript">
	console.log('----------arguments-------------');

	!function(){
		console.log(arguments);
	}(1,2,3);
</script>

在这里插入图片描述

11.3 return

  • return 语句会终止函数的执行并返回函数的值。
  • <script type="text/javascript">
    	console.log('----------return-------------');
    
    	function myFun(){
    		return 10;
    	}
    	var a = myFun();
    	console.log(a); // 10
    </script>
    

11.4 匿名函数

  • 匿名函数:没有名字的函数。
  • 作用:
  1. 用在绑定事件的时候
    <script type="text/javascript">
    	document.onclick = function(){
    		alert(1)
    	}
    </script>
    
  2. 定时器
    <script type="text/javascript">
    	setInterval(function(){
    		console.log(1);
    	},1000)
    </script>
    
  3. 自调用函数
    <script type="text/javascript">
    	(function(a){
    		alert(a)
    	})(10);
    </script>
    

11.5 回调函数

  • 回调函数就是一个通过函数调用函数。
  • 如果你把函数的指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这个是回调函数。
  • 一般用于递归
  • <script type="text/javascript">
    	// 求 n 个数的累加
    	function fn(n){
    		if(n === 0) return 0;
    		if(n === 1) return 1;
    
    		return n + fn(n-1)
    	}
    
    	console.log(fn(100))  // 5050
    </script>
    

12. 变量的作用域

12.1 全局变量

  • 定义在 script 或者 不属于某个函数的变量
  • 全局作用域中声明的变量和函数会作为window对象的属性和方法保存
  • <script type="text/javascript">
    	var a = 10;
    	function aFn(){}
    	console.log(window);
    </script>
    
    在这里插入图片描述

12.2 局部变量(函数作用域)

  • 函数作用域中可以访问到全局作用域的变量,在函数外无法访问到函数作用域内的变量
  • <script type="text/javascript">
    	var a = 10;
    
    	function fu(){
    		var b = 20;
    		console.log(a); // 10
    		console.log(b); // 20
    	}
    
    	fu()
    	console.log(a); // 10
    	console.log(b); // b is not defined
    </script>
    
  • 在函数作用域中访问变量、函数时,会先在自身作用域中寻找,若没有找到,则会到函数的上一级作用域中寻找,一直到全局作用域
  • 在函数作用域中,不使用变量关键字声明的变量,在赋值时会往上一级作用域寻找已经声明的同名变量,直到全局作用域时还没找到,则会成为window的属性
    <script type="text/javascript">
    	function fn(){
    		a = 10;
    		var b = 20;
    
    		console.log(a); // 10
    		console.log(b); // 20
    	}
    	fn()
    	console.log(a); // 10
    	console.log(b); // b is not defined
    </script>
    

13. 对象

  • 对象
    • 对象也是变量。但是对象包含很多值。
    • 值以名称:值的方式来书写(名称和值由冒号分隔)。
    • 对象也可以有方法
    • 方法是在对象上执行的动作
    • 方法以函数定义被存储在属性中。

13.1 字面量对象

-	```html
	<script type="text/javascript">
		var dog = {
			// 属性
			name: "旺财",
			age:10,
	
			// 方法
			eat: function(){
				console.log('吃');
			},
		}
		dog.eat(); // 吃
		console.log(dog.name); // 旺财
	</script>
	```

13.2 JSON

  • JSON和对象字面量的区别
    • JSON的属性必须用双引号引起来,对象字面量可以省略
    • JSON本质是一种数据交互格式,JSON有两种结构,对象和数组,两种结构相互结合从而形成复杂的数据结构。
  • 遍历
    •   <script type="text/javascript">
        	var dog = {
        		// 属性
        		name: "旺财",
        		age:10,
        
        		// 方法
        		eat: function(){
        			console.log('吃');
        		},
        	}
        
        	for(key in dog){
        		console.log(key);
        	}
        </script>
      
      在这里插入图片描述

13.3 构造函数产生对象

  • new Object()
  • new 后面调用函数,我们称为构造函数
  • Object() 我们把它视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建对象,为新对象进行初始化(设置对象的属性)
  • <script type="text/javascript">
    	// 构造函数
    	function Dog(option) {
    	    // 属性
    	    this.name = option.name;
    	    this.age = option.age;
    
    	    // 方法
    	    this.eat = function(someThing) {
    	        console.log(this.name + "在吃" + someThing);
    	    }
    	}
    
    	var d = new Dog({name:"旺财", age:1})
    	console.log(d);
    	d.eat("骨头");
    </script>
    

13.4 prototype

  • prototype 属性使您有能力向对象添加属性和方法。
  • 语法:object.prototype.name=value
  • <script type="text/javascript">
    	function obj(name) {
    	    this.name = name;
    	}
    
    	var o = new obj("张三");
    
    	obj.prototype.age = null;
    	obj.prototype.eat = function(someThing){
    		console.log(this.name + "吃" + someThing);
    	}
    	o.age = 10
    	console.log(o);
    	o.eat("水果");
    </script>
    

13.5 constructor

  • constructor 属性返回对创建此对象的数组函数的引用。
  • <script type="text/javascript">
    	var test=new Array();
    
    	console.log(test.constructor);
    
    	function obj(name){
    		this.name = name;
    	}
    	var o = new obj("张三");
    	console.log(o.constructor);
    </script>
    
    在这里插入图片描述
<script type="text/javascript">
	function Dog(option) {
	    this._init(option);
	}

	Dog.prototype = {
	    // 属性
	    _init: function(option) {
	        this.name = option.name;
	    },

	    // 方法
	    eat: function(someThing) {
	        console.log(this.name + "吃" + someThing);
	    }
	}


	var d = new Dog({name:"张三"})
	console.log(d);
	d.eat("饭");
</script>

在这里插入图片描述

14. 数据类型和内存分析

14.1 堆和栈

  • 栈区(stack)—— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。
  • 堆区(heap)—— 一般由程序员分配释放,若开发者不释放,程序结束时可能有 OS 回收。

14.2 JavaScript 中的数据类型

  • 简单(基本)属于类型
    • Number、String、Boolean、Undefined、Null
    • 直接存储
  • 复杂(引用)数据类型
    • Object、Array、Date
    • 存储引用

15. 内置对象

  • 什么是内置对象:js本身已经帮我们写好的对象
    我们创建出来以后直接直接使用就可以,不需要定义
  • 常见的内置对象:Date、Array、Math、RegExp、Error、String…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值