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

设计网站可能遇到的问题自学建站网

设计网站可能遇到的问题,自学建站网,平面设计范文,常州网站建设方案书文章目录 var,let,const严格模式数据类型运算符事件常用对象函数绑定call() ,apply(),bind() 闭包浏览器中事件循环回调和异步Promiseasync和await DOMBOMAjax var,let,const let是var的升级版本#xff0c;对于块作用域#xff0c;var无法进行限制#xff0c;let不会存在该… 文章目录 var,let,const严格模式数据类型运算符事件常用对象函数绑定call() ,apply(),bind() 闭包浏览器中事件循环回调和异步Promiseasync和await DOMBOMAjax var,let,const let是var的升级版本对于块作用域var无法进行限制let不会存在该问题 另外对于var的声明会进行提升初始化不会进行提升 严格模式 在脚本或者函数开头添加use strict 数据类型 类型描述numberjs里1212.0 因为只有一种数字类型stringbooleanundefined没有值的变量objectfunction 注意NaN和任何值都不相等 运算符 和 前者会自动转类型后者会严格比较类型 算符描述typeof返回变量的类型。instanceof返回 true如果对象是对象类型的实例。 事件 严格意义上指的是html的DOM事件可以绑定js函数 onchangeHTML 元素已被改变onclick用户点击了 HTML 元素onmouseover用户把鼠标移动到 HTML 元素上onmouseout用户把鼠标移开 HTML 元素onkeydown用户按下键盘按键onload浏览器已经完成页面加载 参考手册参照如下 https://www.w3school.com.cn/jsref/dom_obj_event.asp 常用对象 数组 let array [1,2];日期 let date new Date();JSON对象 var obj JSON.parse(text); // JSON字符串转对象 var jsonText JSON.stringify(book); //对象转JSON字符串Set对象 const letters new Set([a,b,c]); 、 Map对象 const maps new Map([[1],[2]])函数绑定 call() ,apply(),bind() call() 方法分别接受参数。 apply() 方法接受数组形式的参数。 call和apply是每个函数的方法可以修改主体对象引用 函数回调时this会丢失此时用bind函数 闭包 js中只有全局作用域和函数作用域 如果想实现一个私有的变量则需要用到闭包有权访问父作用域的函数 var add (function () {var counter 0;return function () {return counter 1;} })();add(); add(); add();// 计数器目前是 3 浏览器中事件循环 1.浏览器中JS是单线程的会将同步代码按顺序放在执行栈依次执行遇到异步任务时交给其他线程处理 待当前执行栈所有同步代码执行完后从任务队列存放已完成的异步任务循环检测并取出回调加入执行栈继续执行有异步任务再交给其他线程循环往复 2.宏任务和微任务队列是2个不同的队列 事件循环的过程中执行栈在同步代码执行完成后优先检查微任务队列是否有任务需要执行如果没有再去宏任务队列检查是否有任务执行如此往复。微任务一般在当前循环就会优先执行而宏任务会等到下一次循环因此微任务一般比宏任务先执行并且微任务队列只有一个宏任务队列可能有多个。另外我们常见的点击和键盘等事件也属于宏任务。 常见宏任务 setTimeout(),setInterval(0) 常见微任务 promise.then() promise.catch() 当然这个事件循环机制在浏览器和nodejs里不太一样具体问题具体分析 回调和异步 1.回调就是函数入参里有函数 2.异步函数 setTimeout() 等待超时 setInterval() 等待间隔 一般异步都是用Promise对象 Promise new Promise() 执行同步方法 new Promise((resolve,reject){resolve()reject() }).then(a{}).catch(e{consoloe.log(e) })then() ,catch() 执行异步方法 一般使用都是框架封装的底层都是用的Promise对象 async和await async修饰异步函数修饰返回Promise.resolve(返回值) 得到一个promise对象 await只能用在async函数里修饰一个Promise对象如果不是promise对象会自动修饰Promise.resolve() await可以理解为then的语法糖也是一个微任务但会暂时阻塞后面的代码这里的阻塞个人理解是后面的代码还是会放到执行栈中在await修饰的微任务执行完后会立刻执行否则下面的代码执行顺序无法解释… async function async1() {console.log(async1 start)let aawait async2()console.log(a)console.log(async1 end) }async function async2() {console.log(async2)return async2 finish }console.log(script start) setTimeout(function() {console.log(setTimeout) }, 0)async1(); new Promise( function( resolve ) {console.log(promise1)resolve(); } ).then( function() {console.log(promise2) } )console.log(script end)script start async1 start async2 promise1 script end //上面为同步任务 async2 finish //微任务1 async1 end //同步任务 promise2 //微任务2 setTimeout //宏任务 DOM 就是html js对象 document对象后续基本都用的框架封装原生的基本用不到 BOM 浏览器提供的对象 window对象 screen对象 location对象 navigator对象 history对象 弹出框方法 alert(),confirm(),prompt() 计时器方法也是window对象提供的方法 setTimeout(function, milliseconds) 在等待指定的毫秒数后执行函数。 setInterval(function, milliseconds) cookie是document对象的属性操纵cookie Ajax 浏览器提供的http线程,使用XMLHttpRequest 对象会遇到跨域问题url请求和当前网页必须同域。 经验上我感觉大多是用框架封装后的Ajax进行http请求 // 创建 XMLHttpRequest 对象 const xhttp new XMLHttpRequest();// 定义回调函数 xhttp.onload function() {// 您可以在这里使用数据 }// 发送请求 xhttp.open(GET, ajax_info.txt); xhttp.send();
http://www.w-s-a.com/news/49794/

相关文章:

  • 做网站的标准北京西站出站口
  • asp.net新建网站市场营销管理是做什么的
  • 南昌网站建设模板服务商建设什么网站挣钱
  • 网站建设实训记录企业网站建设运营
  • 视频网站文案住房和城乡建设部门
  • 汕头网站排名推广新余门户网站开发
  • 湖南智能网站建设哪家好wordpressμ
  • 公司网站备案必须是企业信息么睢宁县凌城做网站的
  • 上海网站建设公司 珍岛宁波免费自助建站模板
  • 南昌知名的网站建设公司南京网站开发选南京乐识赞
  • 外贸网站建设 深圳seo怎么提升关键词的排名
  • 网站推广效果的评价google关键词
  • 模板网站建站哪家好做微信充值网站
  • 抽奖的网站怎么做的广州小程序定制开发
  • 网站的文件夹建设企业网站公积金
  • 做网站的的价位网站建设 考试题目
  • 深圳比邻网站建设北京优化服务
  • 菏泽网站建设哪家好电子商务网络安全
  • 仿一个网站广州网站建设正规公司
  • 网站建设 目的seo网站关键词排名快速
  • 什么叫做响应式网站自媒体全平台发布
  • 企业网站 案例哪里需要人做钓鱼网站
  • 厚街东莞网站建设网站开发者调试模式
  • 网站推广营销联系方式wordpress adminlte
  • 哪些网站可以做文字链广告卖水果网站建设的策划书
  • 雕刻业务网站怎么做企业qq官网
  • 新华书店的做的数字阅读网站wordpress编辑器格式
  • jq做6个网站做什么好广西临桂建设局网站
  • 网站新闻图片尺寸南京网站设计公司
  • 重庆seo建站网站服务器 安全