
javascript
js
huangY_S
这个作者很懒,什么都没留下…
展开
-
async,await补充
asyn await 知识补充原创 2022-08-09 15:51:22 · 390 阅读 · 1 评论 -
vue中img动态路径踩坑
这样是无效的,不能直接通过变量传整个路径这样是有效的,动态拼接路径原创 2021-12-06 10:22:28 · 461 阅读 · 0 评论 -
(重读)JavaScript高级程序设计第四版 2,关于JavaScript的实现,自己的理解
JavaScript的实现完整的JavaScript包括核心 (ECMAScript)核心包括了基本语法,语句,关键字,操作符,全局对象等ESMAScript是JavaScript最核心的东西,而浏览器只是ECMAScript实现的一个宿主环境,浏览器提供了ECMAScript的实现引擎,以及提供了一套与其交互的扩展(DOM和BOM)简单来说,js本身只是一门语言,他提供了一些语法,关键字给我们使用,我们可以用它来写一些代码,比如1+1但是如果我们要将其展示在浏览器上给用户看或者实现某个脚本功原创 2021-06-13 17:22:36 · 215 阅读 · 2 评论 -
(重读)JavaScript高级程序设计第四版
什么是JavaScript1995年 JavaScript诞生因为网速慢,网页越来越复杂,用户每次操作页面,请求服务器时变得很慢,体验不好网景公司和sun公司 共同开发了一款脚本语言liveScript 后来改名为JavaScript为什么叫JavaScript,网传是为了蹭java的热度做宣传后来微软发布IE3,也包含了自己的JavaScript实现这意味这市场上拥有了两个版本的JavaScript,一个是微软的IE,一个是网景的NN这意味着存在不同规范和不同语法,对开发者来说,需要写两套原创 2021-06-13 14:56:05 · 1748 阅读 · 2 评论 -
JSON.parse报错的小坑
除了json语法问题外,遇到的一个小坑。在对一个js对象使用JSON.parse()时会报错。也就是如果你的datatype是json的话,那么就没必要再用JSON.parse进行转换了,因为jquery已经帮你转换好了。如果还用JSON.parse进行转换的话会报错。同理,如果你url的是一个json文件的话 即使你没有设置datatype jquery会智能判断为json,所以用JSON.parse也会报错。测试过程:js:json文件(没有格式问题)报错:如果换成txt文件js原创 2020-12-13 00:01:02 · 1729 阅读 · 0 评论 -
jquery load()方法遇到的问题
jquery load()方法可以帮我们把页面重复的文档部分,比如标题栏和底部信息部分。我们可以提取到一个模板html,然后通过load方法动态加载到每个页面。在使用的过程中遇到几个问题load方法会自动忽略掉head、body、script标签1、如果想加载head和body里面的文档内容,可以通过将内容包裹在一个div中,然后将其加载过来2、script部分我们可以通过load方法的回调函数动态创建加载进来3、不建议动态加载样式表,否则会出现页面闪现的问题,即页面刷新时,出现1秒钟没渲染样式的画原创 2020-12-06 11:37:48 · 1086 阅读 · 0 评论 -
Promise用法
起因:回调地狱,在回调中嵌套回调,写起来很复杂有大佬创造了Promise(承诺、期约),让异步操作更加优雅Promise的使用Promise是一个构造函数,用new关键字实例化一个Promise对象语法:new Promise((resolve,reject)=>{ resolve() || reject() }):Promise.resolve() || Promise.reject()1、 Promise接受一个函数作为参数2、 在参数函数中接受两个函数参数: resolve:成功原创 2020-11-25 22:14:49 · 313 阅读 · 0 评论 -
组合继承和寄生式组合继承
组合继承(伪经典继承)组合继承综合了原型链和盗用构造函数,解决了原型内引用值共享的问题,以及子类在实例化时不能给父类构造函数传参的问题。缺点:调用了两次父类构造函数影响效率,而且子类的原型对象上也拥有了不必要也用不上的属性,即父类构造函数的实例属性。这样的话子类的实例对象如果删除某个属性,这个属性仍然可以访问到,因为它可能存在于子类的原型对象上解决:不通过调用父类构造函数给子类原型对象赋值的方式建立继承关系,而是通过寄生式继承继承父类原型,然后将返回的实例对象赋值给子类原型寄生式组合继承原创 2020-11-18 11:42:02 · 382 阅读 · 2 评论 -
关于mouseover,mouseout 和 mouseenter,mouseleave
mouseover和mouseenter区别mouseover一直以来,只认为是光标移入元素的触碰事件,和离开元素的事件。特地做了个测试,才发现没那么单纯。当鼠标进入元素时候触发事件。进入子元素时,又触发了一次事件鼠标离开子元素回到事件元素的时候又触发一次。也就是说当鼠标移入元素或其子元素都会触发事件,支持冒泡。mouseenter而mouseenter事件则不支持冒泡,当鼠标进入元素的时候触发(不包含子元素)mouseout和mouseleave区别mouseout当原创 2020-10-11 21:37:49 · 783 阅读 · 0 评论 -
初识BOM
Window对象控制新窗口window.open(url,name,设置属性(不能有空格),浏览器历史记录)window.moveto(x,y) 移动到x,ywindow.moveby(x,y)相对当前位置移动x,ywindow.resizeto(x,y) 调整窗口大小到。window.resizeby(x,y)相对调整窗口大小,正值放大,负值缩小。(缩放和移动窗口:只允许缩放和移动通过window.open()创建的窗口,并且窗口只能有一个tab)window.focus() 把焦点给予.原创 2020-10-09 10:22:53 · 148 阅读 · 0 评论 -
关于函数的理解
关于函数的理解函数的参数都是按值传递。也就是说实参只是把值给到函数的形参,并不是将自身引用给他,只是将值复制给他。向参数传递引用类型的值时(多个值构成的对象或者数组),会把这个值在内存的地址复制给一个局部变量,双方同时指向一个对象内存(引用类型值并不是持有这个值,而是指向这个值),所以这个局部变量在函数内的变化会反应到函数外部。当这个函数内部的局部变量,重新赋予或指向别的值时。他将不再与函数外部的值相关联,他的改动也不会影响到外部值``匿名函数匿名函数语法:(function (){})()原创 2020-10-06 17:55:28 · 1380 阅读 · 0 评论 -
var,let以及const
JavaScript高级程序设计笔记(一)重点部分声明提升:使用var声明的变量会自动提升到作用域顶部,但是值不会提升let声明的作用域是块作用域,var是函数作用域,let不允许在同一作用域多次声明,var却可以多次声明。这也是let的优点,可以避免变量被多次声明 覆盖。**let和var的另一个区别,就是let声明的变量不会在作用域中提升****const:用const声明变量的同时必须同时初始化变量,并且不能修改const声明的变量,不能重新赋值,也不允许重复声明同一个变量,cons原创 2020-09-29 16:13:53 · 162 阅读 · 0 评论