随笔分类 -  js基础

1 2 3 4 5 ··· 7 下一页
b站学的js基础
摘要:如果主线程做回调运算那么页面会无法操作 如,点击计算后,如果数值过大,可能要等待很久。 点击之后,js引擎主线程在不断的运算,而界面在js主线程运算的时候操作不了,因为递归效率比较低,所以响应你界面操作的主线程还在后面计算中,它没有时间响应你,所以界面就卡住了。如果要给用户好的体验,要把主线程操作的 阅读全文
posted @ 2022-03-16 10:37 青仙 阅读(105) 评论(0) 推荐(0) 编辑
摘要:1、所有代码分类 初始化代码(同步代码):包含绑定dom事件监听,设置定时器,发送 ajax请求的代码。 回调执行代码(异步代码):处理回调逻辑。 2、js引擎执行代码的基本流程: 初始化代码 >回调代码 3,模型的2个重要组成部分: ①、事件管理模块(包括定时器管理模块/DOM事件管理模块/Aja 阅读全文
posted @ 2022-03-16 09:11 青仙 阅读(116) 评论(0) 推荐(0) 编辑
摘要:1、如何证明js执行时单线程的? setitmeout()的回调函数是在主线程执行的。 定时器回调函数只有在运行栈中的代码全部执行完后才有可能执行。 2、为什么js要用单线程模式,而不用多线程 javascript的单线程,于它的用途有关。 作为浏览器脚本语言,javascript的主要用途是与用户 阅读全文
posted @ 2022-03-15 18:58 青仙 阅读(89) 评论(0) 推荐(0) 编辑
摘要:1、定时器真是定时执行的吗? 定时器并不能保证真正定时执行。 一般会延迟一丁点(可以接受),也有可能延迟很长时间(不能接收) 2,定时器回调函数是在分线程(异步)执行的吗? 在主线程执行的,js是单线程。 3,定时器是如何实现的? 事件循环模型。 阅读全文
posted @ 2022-03-15 18:02 青仙 阅读(37) 评论(0) 推荐(0) 编辑
摘要:浏览器内核 支撑浏览器运行的最核心的程序。(浏览器也是程序,也是用代码写的,内核就是一些比较底层的代码。) 不同的浏览器的内核可能不一样。比如:chrome用的内核叫:webkit,IE用的叫Trident。 内核有很多模块组成 阅读全文
posted @ 2022-03-15 17:47 青仙 阅读(107) 评论(0) 推荐(0) 编辑
摘要:进程: 程序的一次执行,它占有一片独立的内存空间。 可以任务管理器查看所有进程。 线程 是进程内的一个独立执行单位。 是程序执行的一个完整流程。 是cpu的最小调度单位。 何为多进程与多线程? 多进程运行 :一应用程序可以同时启动多个实例运行。 多线程:在一个进程内,同时有多个线程运行。 相关知识 阅读全文
posted @ 2022-03-15 16:54 青仙 阅读(124) 评论(0) 推荐(0) 编辑
摘要:实现继承方式 方式一:原型链继承 套路: 1,定义父类型构造函数。 2,给父类型的原型添加方法。 3,定义子类型的构造函数。 4,创建父类型的对象赋值给子类型的原型。 5,将子类原型的构造属性设置为子类型。 6,给子类型原型添加方法 7,创建子类型的对象:可以调用父类型的方法 关键: 子类型的原型为 阅读全文
posted @ 2022-03-15 11:47 青仙 阅读(59) 评论(0) 推荐(0) 编辑
摘要:方式一:object构造函数模式 套路:先创建空object对象,再动态添加属性/方法。 使用场景:起始时不确定对象内部的数据。 缺点:语句太多。 var person=new Object(); person.name='tom'; person.age=18; person.setName=fu 阅读全文
posted @ 2022-03-15 11:09 青仙 阅读(42) 评论(0) 推荐(0) 编辑
摘要:1 这题没有产生闭包 var name="The Window"; var obj={ name:"My Object", getNameFunc:function(){ return function(){ return this.name; } } } alert( obj.getNameFun 阅读全文
posted @ 2022-03-15 10:08 青仙 阅读(351) 评论(0) 推荐(0) 编辑
摘要:闭包的缺点和解决 缺点: 函数执行完成后,函数内的局部变量没有释放,占用内存时间会变长。 容易造成内存泄漏。 解决: 1、能不用闭包就不用。 2、及时释放。 内存溢出 一种程序运行出现的错误。 当程序运行需要的内存超过了剩余的内存时,就会抛出内存溢出的错误。 内存泄漏 占用的内存没有及时释放。 内存 阅读全文
posted @ 2022-03-15 09:12 青仙 阅读(384) 评论(0) 推荐(0) 编辑
摘要:闭包的应用:定义js模块。 js模块: 就是一个私有的函数内部封装一些功能和数据。函数里的这些数据和方法是私有的,外面不可见,除非暴露出去。 将所有的数据和功能都封装在一个函数内部(私有的)。 只向外暴露一个包含n个方法的对象或函数。 模块的使用者只需要通过模块暴露的对象来调用方法来实现功能。 自己 阅读全文
posted @ 2022-03-14 20:35 青仙 阅读(228) 评论(0) 推荐(0) 编辑
摘要:产生: 在嵌套内部函数定义执行完成时就产生了(不是调用闭包函数),但一定是外部函数被调用才能执行函数定义,才会产生闭包的空间,外部函数一旦被调用,就有函数内部的变量提升和函数提升。 死亡: 在嵌套的内部函数成为垃圾对象时。 阅读全文
posted @ 2022-03-14 18:22 青仙 阅读(105) 评论(0) 推荐(0) 编辑
摘要:作用: 1、 使用函数内部的变量在函数执行完后,仍然存活在内存中(延长了局部变量的生命周期) 2、 让函数外部可以操作(读写)到函数内部的数据(变量/函数) 扩展 1、函数执行完后,函数内部声明的局部变量是否还存在? 一般是存在,存在于闭包中的变量才可能存在。 2、在函数外部能直接访问函数内部的局部 阅读全文
posted @ 2022-03-14 18:09 青仙 阅读(37) 评论(0) 推荐(0) 编辑
摘要:将函数作为另一个函数的返回值 function fn1(){ var a=2; function fn2(){//执行函数定义就会产生闭包,执行函数定义不是指调用函数。 a++; console.log(a); } return fn2; } var f=fn1(); f();//3 f();//4 阅读全文
posted @ 2022-03-14 17:43 青仙 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1,如何产生闭包? 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量时,就产生了闭包。 2,闭包到底是什么? 使用chrom调试查看 理解一:闭包是嵌套的内部函数 理解二:包含引用变量(函数)的对象 注意:闭包存在于嵌套的内部函数中 3,产生闭包的条件 函数嵌套 内部函数引用了外部函数的数 阅读全文
posted @ 2022-03-14 16:59 青仙 阅读(40) 评论(0) 推荐(0) 编辑
摘要:js循环绑定事件 在编写JS代码的时候,我们经常会遇到要对一系列元素进行事件绑定的情况,然后就会理所当然的开一个for循环,对元素的事件进行赋值等操作,最后运行的效果却不是希望有的样子,事件的响应只能和最后一个元素一样。 html元:希望给每个按钮都绑定单击事件,输出他们是第几个按钮 <body> 阅读全文
posted @ 2022-03-14 16:24 青仙 阅读(308) 评论(0) 推荐(0) 编辑
摘要:作用域 理解 *就是一块地段,一个代码段所在的区域。 *它是静态的(相对于上下文对象),在编写代码时就确定了。 分类: 全局作用域 函数作用域 块作用域(ES6) 作用: 隔离变量,不同作用域下的同名变量不会有冲突。 var a=10,b=20; function fn(x){ var a=100, 阅读全文
posted @ 2022-03-14 11:40 青仙 阅读(28) 评论(0) 推荐(0) 编辑
摘要:函数执行分类: 执行函数定义 只是定义了一个函数,但是并没有执行函数体,只是创建了一个函数对象。内部代码相当于this.prototype={},创建一个空的原型对象(空的object对象)。 执行函数 也就是调用函数,函数名加括号。 函数原型 严格来说,函数也是一个实例(对象),是Function 阅读全文
posted @ 2022-03-14 10:14 青仙 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1 console.log('global begin:'+i); var i=1; foo(1); function foo(i){ if(i==4) return; console.log('foo() begin:'+i); foo(i+1); console.log('foo() end:' 阅读全文
posted @ 2022-03-14 08:54 青仙 阅读(84) 评论(0) 推荐(0) 编辑
摘要:执行上下文栈 就是用来存全局上下文对象和函数上下文对象的栈容器。 在全局代码执行之前,js引擎就会创建一个栈容器来存储管理所有的执行上下文对象。 在全局执行上下文(window)确定后,将其添加到栈中(压栈)。 在函数执行上下文创建后,将其添加到栈中压栈)。 在当前函数执行完后,将栈顶的对象移除(出 阅读全文
posted @ 2022-03-13 20:44 青仙 阅读(48) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 7 下一页
点击右上角即可分享
微信分享提示