基础知识笔记

1、基础数据类型:

①Number --数字②String–字符串③Boolean–布尔④Undefined⑤null

2、引用数据类型:

①Objec–t对象②Array–数组③Function–函数

3、if后边的()中下面的数据会隐式转化为false:

0,-0,undefined,null," "(空串)
声明变量用let声明常量用const,IIFE(立即调用函数)中的this指向window

4、new的原理:

①在函数内部创建一个空对象
②内部中的this指向这个空对象
③返回这个空对象
.的优先级高于new

5、遍历:

for循环:
forlet i=0,i<arr.length,i++{
} 
②forEach
arr.forEach((item=>{
})for...in...针对对象
forlet key in arr){
}for of 遍历字符串
forlet v1 of arr){
}

6、call

call的作用:改变函数中的指向指向谁就call谁
例子:
say.call(obj)让say中的this指向obj并让say执行
apply除了传参需要数组其他的与call一样

7、检测数据的数据类型

object.prototype.tostring.call(数据)
tolowercase:将字符串中的大写字母转化为小写字母
bind:让fn中的this指向obj;返回一个改变this的函数

8、原型继承:

①继承父类的共有属性和私有属性作为子类的共有属性
②核心代码:son.prototype = new Father 需要手动修改 son.prototype constructor = son
代码:

function Father (){
	this.a = 110;
}
Father.prototype.getA = function(){
	console.log(this.a)
}
son.prototype = new Father;
son.prototype constructor = son;
let son = new son

9、call继承:

①继承父类的私有属性作为子类的私有属性
②Father.call(this)
代码:

function Father(){
	this.a = 110;
}
Father.proyotype.getA = function(){
	console.log(this.a)
}
function son(){
	Father.call(this);
	}
	let  son = new son;

10、组合继承:call继承+原型继承

父类的私有属性被继承两次,先访问私有属性

11、es6小结

1)say:function(){…} === say(){…}
2)箭头函数:let gn = function(){…} === let gn = ()=>{…}
函数简写成箭头函数:
①如果只有一个形参()可以不写
②如果只有一个普通语句{}可以不写
③如果只有一条返回语句{}和return都可以不写
④如果返回了一个对象,返回的对象需要用()包一下
3)arguments:函数内部的一个对象,只会出现在函数中
①用来收集实参
②伪数组:本质是对象
③实参比较多可以用arguments来接收
…args叫rest参数
拓展运算符:…
模板字符串:${name}
4)class类
constructor::new的时候会调用constructor函数
constructor添加的都是私有属性
constructor外添加的都是公有属性(函数)jump
static给father函数中添加私有属性
5)让son去继承father中的属性和方法
class son extends father
let son = new son();(不能直接用constructor)
创建私有属性要用super();
调用父的constructor+私有属性
6)endswith判断结尾是不是一xxx结尾
startswith(‘xxx’)字符串是否以xxx开头
includes判断是否包含;repeat重复;parseInt把小数转化为整数
7)ES6中将全局方法parseInt()和parseFloat()放到number类;在number类上,添加了一个api叫isInteger()来判断一个数是否为整数
(2**3)=2^3
箭头函数中的this需要找上一级
8)

function *generator(){
yeild “v1”
}    //前边加星号表示生成器;yelid生成一个迭代器
generator();

迭代器可以迭代对象:value表示迭代出的值,done表示是否迭代完毕
下面的对象是可迭代的:可迭代对象内部自带迭代器
Array;Set;Map;
Object不是可迭代对象,特殊String也具备迭代器,可以用for of 进行迭代输出
9)模板字符串:https://www.cnblogs.com/xiaowie/p/11601599.html
10)set 和map
let mySet = new set
1、mySet.add()------添加元素
2、mySet.size()-------统计元素的个数
3、mySet.has()-------判断容器中是否有某个元素
4、mySet.delete()-------删除某个元素
5、mySet.clear()-------清除所有元素
weakSet: 和mySet用法相同,里边元素不允许重复,只存引用数据类型数据
map中可以是任意数据类型
11)navigator:获取浏览器信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值