javaScript知识及应用

1、数据类型的转换 //重点
// 转数值方法 Number() 带有字母的字符串值NaN undefined 转NaN 空字符串为0 false为0 null为0 parseInt() 以字母开头的字符串为NaN 布尔值转NaN null为NaN undefined为NaN parseInt(num,进制) 将指定进制的数字转为十进制 parseFloat() 以字母开头的字符串为NaN 布尔值转NaN null为NaN undefined为NaN
// 转字符串 String() 所有数据都可以转字符串 str.toString() null和undefined 不能使用 str.toString(进制)
// 转布尔值 Boolean() 非0的数值和非空的字符串为真 /* NaN: 1.是一个特殊的数字,数据类型是number 2.自身和自身不相等 3.判断NaN的方法isNaN();isNaN()存在隐式转换 */

2、运算符
一元运算符 ++ – + - !
算术运算符 + - * / % ++ –
比较运算符 == === >= <= != !==
逻辑运算符 && || !
赋值元素符 += -= = /= =
三元运算符 条件?表达式1:表达式2
运算符优先级 一元运算符>算术运算符>比较运算符>逻辑运算符>三元运算符>赋值元素符 运算符中存在的隐式转换 + 转正数
例题: +‘s’+2 +‘1’+1 - 转负数 例题: +‘1’-1 ‘22’-2 * 转数值 例题: 3
’3’ !转布尔值 例题 !true + 1 !!""+“33” 总结+的作用 1.在多元运算中与字符串在一起是连接符 2.一元运算符中转正数 3.和数值在一起做加法运算

3、数组
数组的定义 概念:数据的集合
声明数组:
1.arr=new Array()//声明空数组
2.arr=new Array(8)//定义一个长度为8的数组
3.arr=new Array(1,12,3,5,6)//定义并赋值
4.arr=[];//字面量定义法 添加值: 语法:数组名[索引值]=""; arr[0]=""; 修改值: arr[指定位置]=""; 获取值: arr[索引值] 特点: 1.数组的长度是最大索引值+1; 2.数组的长度的可变的 3.索引值是从0开始 数组的属性: arr.length 二维数组: arrEr=[[],[],[]] 添加值: arrEr[一维索引值][二维索引值]=3; 获取二维数组的值: arrEr[一维索引值][二维索引值] 多维数组: arr=[[[[],[]],[]],[]] 数组的常用方法 arr.concat(tiem,item…);
意义:合并数组 1.返回数组 arr.join(分隔符);

意义:将数组中的元素按指定的符号链接。
1.如果没有分隔符,默认按“,”链接
2.返回字符串 arr.pop()

意义:删除数组末尾的值
1.返回删除的值
2.如果对空数组进行操作,那么返回undefined arr.push(value…);
意义:给数组的末尾添加值;
1.返回添加值后数组的长度; arr.shift()
意义:删除数组第一个元素的值
1.返回删除的值
2.如果对空数组进行操作,那么返回undefined arr.unshift(value)
意义:给数组的开始位置添加值;
1.返回添加值后数组的长度 arr.splice(startIndex,deletCount,values)
1.startIndex 开始处理数据的位置
2.deletCount 删除的数量 包含开始位置
3.values要添加的值
4.返回一个数组,存放删除的元素 arr.slice(startIndex,endIndex)
意义:截取指定位置数组元素
1.startIndex开始位置 startIndex为负数,那么倒数第一位为-1.从右向左数,负几就是倒数第几位开始。
2.endIndex 结束位置 如果省略,会截取到元素的最后一位
3.返回的数组,内容为截取出来的元素 arr.sort() 意义:按unicode编码排序 arr.reverse() 意义:返序

4、字符串
str.length 字符串的长度 str.charAt(index)
1.返回指定位置的字符。
2.一般长度为1.
3.如果指定的位置超出了字符串的长度,那么返回空。

str.indexOf(subStr,startIndex)
1.subStr 查找的字符串
2.startIndex 开始查找的位置 超出字符长度返回-1; 如果是负数,则从0开始 如果省略,从0开始
3.查找的字符串存在返回字符第一次出现的位置,否则返回-1;

str.substr(startIndex,length) 意义:截取字符串
1.startIndex 开始的位置 如果是负数,从倒数开始,倒数第一个为-1; 如果大于字符的长度,那么返回空
2.length 截取的字符串的长度 省略,返回从开始位置到结束的所有字符
3.截取的字符串包含开始位置的字符。

str.substring(startIndex,endIndex); 意义:截取字符串
1.startIndex 开始位置 如果是负数,从0开始
2.endIndex 结束的位置 如果省略,截取从开始到结束的所有字符 endIndex小于startIndex,那么先交换位置,然后在执行
3.截取的字符串包含开始位置的字符,不包含结束位置的字符。

str.slice(startInex,endIndex) 意义:截取字符串
1.startIndex 开始位置 如果是负数,从倒数开始,倒数第一位为-1;
2.endIndex 结束的位置 如果省略,截取从开始到结束的所有字符 endIndex小于startIndex,返回空
3.截取的字符串包含开始位置的字符,不包含结束位置的字符。

str.split(delimit,limit) 意义:按指定字符将字符串转成数组
1.delimit 分隔符 如果是“” 那么按字符分割
2.limit 分割次数 如果省略,无限分割,分割完为止。
3.返回是一个数组

str.replace(regexp,elem); 意义:将指定的字符替换;
1.regexp,正则或者是字符 如果是字符,那么只会替换第一个
2.elem 替换对象 str.toUpperCase() 将字符串中的字母全部转大写 str.toLowerCase() 将字符串中的字母全部转小写

5、正则表达式
正则:判断字符串是否符合规则 定义:reg=new RegExp(); reg=//g; 修饰符: i:匹配的时候不区分大小写 g:全局匹配 m: 多行匹配 方法: str.match(reg);输出所有匹配成功的结果。 reg.test(str);是否匹配成功。返回true和false str.replace(reg,“ss”) []:匹配单个字符,匹配中括号内包含的任意字符 [^a-c]:匹配除了中括号内a-c的任意字符 \w:[0-9A-z]; \W: 除了\w之外的任意字符 \d:查找数字[0-9] \D:除了数字之外任意字符 \s: 空格 量词: + :>0 * :>=0 {x}:指定x个 {x,}:>=x; {x,y}:>=x,<=y; ?: 0 || 1 ?=n : 任意字符后紧挨着的n,n代表表达式 ?!n: 非?=n; n$ 以…结尾 ^n 以…开头

6、对象
对象概念: 1.无序属性的集合 2.属性值原始值,对象或者函数
创建对象: 1.var obj=new Object(); 2.var obj={};—字面量创建方法
添加值: obj.prop="" obj[prop2]=""—注:prop2必须字符串,如果是变量那么会隐式转toString();
遍历对象:for in 方法: Object.keys() Object.values() Object.entries()
JSON json(JavaScript Object Notation),是一种轻量级的数据交换格式。它基于 js 对象的 格式,以 key:value 格式存储数据,独立于编程语言的文本格式来存储和表示数 据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 json 的 key 必须是字符串,需要用双引号 json 的 value 可以是数字、字符串、数组、对象 数据由,分隔,最后一项数据后不能有,号 字符串类型的值必须使用双引号

7、函数
函数:完成一个特定功能的代码块

// 函数的声明:function

// 函数的组成部分:
	// function 函数名 {

	// }

	// 不能出现特殊字符 ,_ -
	// 不能以数字开头
	// 建议使用小驼峰命名法
	// 函数名不要与变量名一致。
	// 不能使用关键词

// 函数的表达式:
	// 命名函数:
		
		// sum();
		// function sum(){
		// 	console.log(3);
		// }
	// 匿名函数:
		// a();
		// var a=function(){
		// 	console.log("a");
		// }

8、预编译
作用域: 全局作用域:最外层定义的变量
局部作用域:只在固定的代码片段内可用,函数外出不可访问 js没有块级作用域,局部作用域是由函数的产生而产生的,也叫函数作用域。
注意:建议使用var声明变量,如果没有var声明,那么在函数内也是声明了全局变量。
块级作用域:{} js执行环境 全局执行环境:最外面层的执行环境—>window 因此所有的全局变量和函数都作用为window的属性和方法。GO 局部执行环境:函数内的执行环境—>AO js三部曲 1.语法检查 2.预编译 3.逐行解释执行

预编译:
1.创建AO对象(active object this,arguments)
2.在函数内找用var定义的变量及形参变量,并且赋值为undefined
3.形参和实参相统一
4.找函数内用function定义的函数,并将函数体赋值。
作用域链: 当一个函数被调用的时候,创建了执行环境和相应的作用域链,并且把作用域链赋值给一个特殊的内部属性[[scope]],然后用this,arguments(全局不存在), 和其他的命名参数来初始化活动对象,当前的执行环境始终在作用域链的最顶端 [[scope]]中所存储的执行期上下文的集合,这个集合呈链式结构,我们把这种链式叫做作用域链。也是作用域对象的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值