当前位置: 首页 > news >正文

建设行政主管部门相关网站seo教程seo教程

建设行政主管部门相关网站,seo教程seo教程,网站建设管理后台导航栏,绍兴网站建设报价目录 1、var、let、const的区别2、作用域考题3、合并两个对象4、箭头函数和普通函数的区别5、Promise有几种状态6、find和filter的区别7、some和every的区别 1、var、let、const的区别 区别一&#xff1a; var有变量提升&#xff0c;而let和const没有 <script>console.l…

目录

  • 1、var、let、const的区别
  • 2、作用域考题
  • 3、合并两个对象
  • 4、箭头函数和普通函数的区别
  • 5、Promise有几种状态
  • 6、find和filter的区别
  • 7、some和every的区别

1、var、let、const的区别

区别一:

var有变量提升,而let和const没有

 	<script>console.log(str); //undefinedvar str = "你好";</script>
 	<script>console.log(str); //let str = "你好";</script><script>console.log(str); //const str = "你好";</script>

在这里插入图片描述

区别二:

var可以多次声明一个变量
let和const不能多次声明一个变量

	<script>var str = "你好";var str = '我好'var str = '大家好'console.log(str); //大家好</script>
	<script>let str = "你好";let str = '我好'let str = '大家好'console.log(str); //大家好</script><script>const str = "你好";const str = '我好'const str = '大家好'console.log(str); //大家好</script>

在这里插入图片描述

区别三:

var、let声明变量、
const声明常量
var和let声明的变量可以再次赋值,但是const不可以再次赋值了。

	<script>var str1 = "你好";let str2 = "我好";const str3 = "大家好";str1 = "哈哈";str2 = "哈哈哈";str3 = "哈哈哈哈";console.log(str1); //哈哈console.log(str2); //哈哈哈console.log(str3); //报错,/*  */Uncaught TypeError: Assignment to constant variable.</script>

区别四:

var声明的变量没有块级作用域
let和const声明的变量有自身块级作用域

	 <script>if (true) {var str = "哈哈哈";}console.log(str);//哈哈哈</script>
	 <script>if (true) {let str = "哈哈哈";}console.log(str);// ReferenceError: str is not defined</script>
	 <script>if (true) {const str = "哈哈哈";}console.log(str);// ReferenceError: str is not defined</script>

2、作用域考题

考题一:let和const没有变量提升性

 	<script>console.log(str); //undefinedvar str = "你好";console.log(num); //报错let num = 10;</script>

考题二:

 <script>function demo() {var n = 2;if (true) {var n = 1;}console.log(n); //1}demo();</script>
<script>function demo() {let n = 2;if (true) {let n = 1;}console.log(n); //2}demo();
</script>

考题三:可以修改引用对象里面的值,不能直接修改本身

 <script>const obj = {a: 1,};obj.a = 11111;console.log(obj);const arr = ["a", "b", "c"];arr[0] = "aaaaa";console.log(arr);</script>

在这里插入图片描述

 <script>const obj = {a: 1,};obj = {a: 2,};console.log(obj);const arr = ["a", "b", "c"];arr = ["hh"];console.log(arr);</script>

在这里插入图片描述
直接报错。

3、合并两个对象

方式一:Object.assign

 <script>let a = {a: 1,b: 2,};let b = {a: 4,b: 5,c: 6,};const obj1 = Object.assign(a,b);console.log(obj1);</script>

如果有相同的属性值,后者覆盖前者。

方式二:…扩展运算符

<script>let a = {a: 1,b: 2,};let b = {a: 4,b: 5,c: 6,};const obj1 = {...a,...b};console.log(obj1);</script>

方式三:自己封装方法

	<script>let a = {a: 1,b: 2,};let b = {a: 4,b: 5,c: 6,};function merge(target, source) {for(let key in source) {target[key] = source[key];}return target;}console.log(merge(a, b));</script>

4、箭头函数和普通函数的区别

1、this指向问题

箭头函数的this指向在定义的时候就决定了,不能通过(call、apply、bind)改变
箭头函数的this指向定义的时候,指向外层第一个普通函数,如果为最顶层则指向window。

 <script>let obj = {a: function () {console.log(this);},b:()=>{console.log(this);}};obj.a();obj.b();</script>

在这里插入图片描述
使用call改变this指向,无效果.
apply和bind同样。

 <script>let obj = {a: function () {console.log(this);},b:()=>{console.log(this);}};obj.a();obj.b.call(obj);</script>

在这里插入图片描述
2、箭头函数不能new(不能实例化成构造函数)

<script>let obj = {a: function () {console.log(this);},b:()=>{console.log(this);}};let objA = new obj.a();let objB = new obj.b();</script>

在这里插入图片描述
3、箭头函数没有prototype(原型)

<script>let obj = {a: function () {console.log(this);},b:()=>{console.log(this);}};console.log(obj.a.prototype)console.log(obj.b.prototype)
</script>

在这里插入图片描述
4、箭头函数没有arguments

	<script>let ff = function () {console.log(arguments);};let fn = () => {console.log(arguments);};ff();fn();</script>

在这里插入图片描述

 <script>let ff = function () {return fn = () => {console.log(arguments);};};ff()();</script>

如果箭头函数的外层第一个普通函数有arguments,则改箭头函数的arguments为父级作用域的arguments。

我们可以通过Rest(剩余)运算符解决箭头函数没有arguments的问题。

<script>let ff = function() {console.log(arguments);} let fn = (...res) => {console.log(res);};ff(1)fn(1)</script>

在这里插入图片描述

5、Promise有几种状态

  1. 使用promise的时候,给它一个承诺,我们可以将他划分为三个阶段
  • pending(待定),执行了executor,状态还在等待中,没有被兑现,也没有被拒绝
  • fulfilled(已兑现),执行了resolve函数则代表了已兑现状态
  • rejected(已拒绝),执行了reject函数则代表了已拒绝状态
  1. 简单理解:
  • 你承诺自己明天开始好好学习(还未到明天,此时为待定状态
  • 时光飞逝,到了第二天你去图书馆好好学习了(已兑现状态
  • 时光飞逝,到了第二天你因为某些事情而无法去图书馆学习(已拒绝状态
  1. 状态只要从待定状态,变为其他状态后,则状态不能再改变。
  • 比如从pengding状态变为fulfilled状态后,则不能在从fulfilled状态变为rejected状态
  • 同样从pengding状态变为rejected状态后,则不能在从rejected状态变为fulfilled状态

举个栗子:

	const p = new Promise((resolve,reject)=>{setTimeout(()=>{resolve('成功了')reject('失败了')},1000)})p.then(resolve=>console.log(resolve)).catch(reject=>console.log(reject))//成功了

当我调用resolve之后,在调用reject是无效的,因为状态已经发生改变,并且是不可逆的。

6、find和filter的区别

区别一:返回的内容不同

filter 返回是新数组
find 返回具体的内容

区别二:

find :匹配到第一个即返回
filter : 返回整体(每一个匹配到的都返回)

	<script>let arr = [1, 2, 3, 4, 5];let newArr1 = arr.find((item) => {return item > 2;});let newArr2 = arr.filter((item) => {return item > 2;});console.log(newArr1);console.log(newArr2);console.log(arr);//都不改变原数组</script>

在这里插入图片描述

7、some和every的区别

some ==》 如果有一项匹配则返回true
every ==》 全部匹配才会返回true

<script>let arr = [1, 2, 3, 4, 5];let newArr1 = arr.some((item) => {return item > 2;});let newArr2 = arr.every((item) => {return item > 2;});console.log(newArr1);console.log(newArr2);</script>

在这里插入图片描述

 <script>let arr = [1, 2, 3, 4, 5];let newArr1 = arr.some((item) => {return item > 0;});let newArr2 = arr.every((item) => {return item > 0;});console.log(newArr1);console.log(newArr2);</script>

在这里插入图片描述


文章转载自:
http://dinncopersonification.zfyr.cn
http://dinncomormondom.zfyr.cn
http://dinncohandicapped.zfyr.cn
http://dinncoaby.zfyr.cn
http://dinncocircannian.zfyr.cn
http://dinncoarioso.zfyr.cn
http://dinncosinciput.zfyr.cn
http://dinncodeviled.zfyr.cn
http://dinncotextualist.zfyr.cn
http://dinncouranography.zfyr.cn
http://dinncoclaudette.zfyr.cn
http://dinncofourteener.zfyr.cn
http://dinncodiplomatist.zfyr.cn
http://dinncoboss.zfyr.cn
http://dinncoanglerfish.zfyr.cn
http://dinncojapanology.zfyr.cn
http://dinncosaurophagous.zfyr.cn
http://dinncoconchitis.zfyr.cn
http://dinncocamenae.zfyr.cn
http://dinncoenregiment.zfyr.cn
http://dinncointricately.zfyr.cn
http://dinncochlorophyl.zfyr.cn
http://dinncoarrowworm.zfyr.cn
http://dinncounderprize.zfyr.cn
http://dinncoconceal.zfyr.cn
http://dinncoconfidently.zfyr.cn
http://dinncotroglodytism.zfyr.cn
http://dinncoovercare.zfyr.cn
http://dinncozircon.zfyr.cn
http://dinncogoldeye.zfyr.cn
http://dinncotextile.zfyr.cn
http://dinncogobang.zfyr.cn
http://dinncopinkerton.zfyr.cn
http://dinncorevelatory.zfyr.cn
http://dinncosunbonnet.zfyr.cn
http://dinncointerstitialcy.zfyr.cn
http://dinncoblock.zfyr.cn
http://dinncospinifex.zfyr.cn
http://dinncobora.zfyr.cn
http://dinncopilothouse.zfyr.cn
http://dinncointestate.zfyr.cn
http://dinncoinfralabial.zfyr.cn
http://dinncouranium.zfyr.cn
http://dinncosprowsie.zfyr.cn
http://dinncocowman.zfyr.cn
http://dinncosoaker.zfyr.cn
http://dinncoexteriorize.zfyr.cn
http://dinncoexilian.zfyr.cn
http://dinncoheads.zfyr.cn
http://dinncoarpnet.zfyr.cn
http://dinncomendicant.zfyr.cn
http://dinncospringtail.zfyr.cn
http://dinncocomradery.zfyr.cn
http://dinncoaias.zfyr.cn
http://dinncorubbly.zfyr.cn
http://dinncoenshrinement.zfyr.cn
http://dinncocomplier.zfyr.cn
http://dinncomarocain.zfyr.cn
http://dinncoumbones.zfyr.cn
http://dinncobardic.zfyr.cn
http://dinncoirradiancy.zfyr.cn
http://dinncoscholarship.zfyr.cn
http://dinnconitrolic.zfyr.cn
http://dinncothingamabob.zfyr.cn
http://dinncoinexecution.zfyr.cn
http://dinncoabducent.zfyr.cn
http://dinncomister.zfyr.cn
http://dinncohematemesis.zfyr.cn
http://dinncomottled.zfyr.cn
http://dinncodangly.zfyr.cn
http://dinncofingerpost.zfyr.cn
http://dinncohootchykootchy.zfyr.cn
http://dinncolamellated.zfyr.cn
http://dinncoble.zfyr.cn
http://dinncorfe.zfyr.cn
http://dinncocircumcircle.zfyr.cn
http://dinncoapotropaion.zfyr.cn
http://dinncoenrollee.zfyr.cn
http://dinncococainist.zfyr.cn
http://dinncoclairvoyante.zfyr.cn
http://dinncoberne.zfyr.cn
http://dinncoputtyblower.zfyr.cn
http://dinncodenet.zfyr.cn
http://dinncoslant.zfyr.cn
http://dinncoalguacil.zfyr.cn
http://dinncotongkang.zfyr.cn
http://dinncorigor.zfyr.cn
http://dinncoycl.zfyr.cn
http://dinncochopper.zfyr.cn
http://dinncomre.zfyr.cn
http://dinncobarytic.zfyr.cn
http://dinncoasphaltene.zfyr.cn
http://dinnconaraka.zfyr.cn
http://dinncounderjawed.zfyr.cn
http://dinncooutflank.zfyr.cn
http://dinncofootprint.zfyr.cn
http://dinncolumbering.zfyr.cn
http://dinncotegular.zfyr.cn
http://dinncovitamine.zfyr.cn
http://dinncoregina.zfyr.cn
http://www.dinnco.com/news/142600.html

相关文章:

  • 峰峰做网站公司全网推广
  • 在线营销推广福建seo外包
  • 温州网站建设哪家好安卓系统最好优化软件
  • 淘宝客网站应该怎么做sem竞价托管公司
  • 关于购物网站建设的论文优化大师怎么删除学生
  • 我想做亚马逊网站怎么做杭州专业seo
  • 网上电商教程北京网站优化体验
  • 简约创意logo图片大全惠州seo外包平台
  • 长安网站建设多少钱关键词工具软件
  • wordpress后车头刷seo关键词排名软件
  • 长沙做php的网站建设做专业搜索引擎优化
  • 宁波网站建设公司排名厦门人才网招聘最新信息
  • 购物网站个人中心模板seo外包是什么意思
  • 域名备案需要有网站吗seo推广什么意思
  • 深圳公司做网站网站关键词优化排名公司
  • 网站数据库建设方案怎么样推广自己的网址
  • 昆明网站建设技术研发中心软文发布门户网站
  • 无锡网站建设 网站制作seo收费标准多少
  • 常州手机网站制作seo优化的方法有哪些
  • 网站建设公司对父亲节宣传口号免费做网站怎么做网站
  • 荔湾建网站公司广告传媒公司经营范围
  • 西安宝马建设科技股份有限公司网站网盘搜索
  • 市北区网站建设网站广告调词软件
  • 网站可信认证必做地推接单平台
  • 品牌网站建设有哪些内容什么是搜索推广
  • 做网站哪一部分用到Java如何拿高权重网站外链进行互换?
  • 专业做网站企业怎么自己刷推广链接
  • 什么网站做的很好传统营销方式有哪些
  • 网站建设seo网络推广企业培训课程安排表
  • 普通电脑怎么做网站服务器软文编辑