js中的一些方法
let:用来定义变量的关键字
特点:
1.要求变量必须先定义后使用,不能声提升
2.不能重复定义变量
3.块级作用域(变量在该作用域中不会丢失)
4.暂时性死区(当内部变量与外部变量同名时,内部变量屏蔽外部变量)
const:定义只读变量的关键字(创建有名的常量)
特点:1.被const修饰的变量为只读变量
2.被const修饰的变量必须初始化(赋初值)
3.不能声明提升,必须先定义后使用
4.不能重复定义
5.块级作用域
6.暂时性死区
面试题:var,let,const的异同?
1.都是用来定义变量的关键字
2.var具备声明提升
3.let,const必须先定义后使用,不具备声明提升,不能重复定义变量
块级作用域,暂时性死区
4.const修饰的变量为只读变量,且必须初始化
this:函数体内的内置对象,作用域只能在函数体内使用
特点:
1.与事件体连用:代表触发该事件的元素本身
2.与普通方法连用(除了事件体和构造方法),调用该方法的对象本身
bind:函数对象的一个方法,作用就是用来改变该函数的this指向,主要修饰匿名函数的this
用法: bind(被修改的this指向)
fun.bind() == function(){}.bind()
var oDiv = document.querySelector("div");document.onclick = function(){this.style.display = "none";}.bind(oDiv);
json和字符串的相互转换
①字符串->json对象
注意事项:使用以下转换方法的json对象和字符串,key必须用双引号引起来
var str = '{"name":"老王","age":18}';var json = JSON.parse(str);console.log(json);
②json对象->字符串
var json = {"name":"老王","age":18};var str = JSON.stringify(json);console.log(str);
通常用来遍历json对象,因为遍历的是下标
语法:for(let 索引 in json对象){}
let json = {"name":"老王","age":8}for(let index in json){console.log(json[index]);}
let arr = [6,4,7,8,3];for(let index in arr){console.log(index);}
针对于没有下标的容器,进行遍历
语法: for(let 元素数值 of 容器){}
let arr = [6,4,7,8,3];for(let item of arr){console.log(item);}
字符串的扩展方法
一.判断字符串是否包含在另一个字符串中
在ES5 中使用的是 indexOf() 方法,在ES6中可以使用includes()、
startsWith()、endsWith()三个方法。
str.includes(参数): 返回布尔值,表示是否找到了参数字符串。
str.startsWith(参数):返回布尔值,参数是否在源字符串的头部。
str.endsWith(参数): 返回布尔值,参数是否在源字符串的尾部。
二.打印中文的问题
单词:unicode
中文解析默认是utf-16
0~65535
0000 0000 0000 0000~1111 1111 1111 1111
三.超过65535的汉字,中文和编码的读取方式
①中文:console.log('\u{21c56}');
②打印该汉字对应的编码:console.log(str1.codePointAt(0));
map:键值对的容器,映射
key1=value1,key2=value2...
建立map格式: let map = new Map();
set(key,value) 向集合中添加一个元素:key以存在,则为改,不存在则为增
map.set("A","蔡徐坤");map.set("B",{"name":"老王","age":888});map.set("C","曹柏林");map.set("A","涛哥");
get(键) 根据键去取值
delete(键) 删除集合中某个数
has(键) 判断集合中是否含有某个值
clear() 清空集合
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
