12 2021 档案

摘要:apply()和call()/bind()的功能几乎一模一样,返回相同的结果,只在细微区域有所差别 1.三者的区别:参数的接收方式 三者第一个参数都是指向要改变的对象,但是之后的参数则有所分别 call(): 直接接收之后的参数,并用,隔开 apply():后续的参数存储在一个数组中,再将该数组作为 阅读全文
posted @ 2021-12-31 22:07 嗜血汽车人 阅读(191) 评论(0) 推荐(0)
摘要:1.call()的定义: call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法。 重点在于我们可以设置this指向另一个对象,那么这个对象中的数据和方法就可以被访问到 如果想利用a对象中的FN1方法去处理b对象中的数据,就可以使用 FN1.call(b); 阅读全文
posted @ 2021-12-31 20:43 嗜血汽车人 阅读(1954) 评论(0) 推荐(0)
摘要:1.eval()函数定义 它是一个函数,只接收一个字符串类型的参数 eval(string) 如果输入的参数是js代码,会被函数直接解析执行 如果输入的参数是普通字符串,则返回该字符串 实例如下 1.1 输入string为js代码 eval("var a =1;var b=4; alert(a+b) 阅读全文
posted @ 2021-12-31 19:43 嗜血汽车人 阅读(574) 评论(0) 推荐(0)
摘要:创建对象方法有两种,对象字面量/构造函数 (1)对象字面量 它适合少量简单的对象创建 var obj = { a:10, b:'符', say(){ //函数体 } } //但是如果我们需要创建大量具有相同类型属性和方法(但值不同)的对象时,对象字面量就不适合了//而且它也没有继承这类高级特性 // 阅读全文
posted @ 2021-12-31 17:27 嗜血汽车人 阅读(148) 评论(0) 推荐(0)
摘要:1.变量提升的引入 那么到底是什么机制产生了变量提升,为什么需要变量提升hoist呢? 2.执行上下文 (1)全局执行上下文 在执行全局代码前,将window确定为全局执行上下文==>window也就是全局执行上下文你对象 对全局数据进行预处理 var 定义的全局变量 == > undefined, 阅读全文
posted @ 2021-12-31 12:18 嗜血汽车人 阅读(58) 评论(0) 推荐(0)
摘要:1.instanceof()是如何判断的? *表达式 A instanceof B A 为实例对象 B为构造函数(对象) *判断标准 如果B函数显式的原型对象(注意只看b.protootype是否在a原型链上)在A对象的原型链上(有交叉),则返回true/否则false 例如对 Object ins 阅读全文
posted @ 2021-12-30 22:20 嗜血汽车人 阅读(47) 评论(0) 推荐(0)
摘要:(1)所有的实例对象都有隐式原型属性/在被创造时就添加到该对象上 所有的函数都有显示.prototype 因为他们都是函数(对象) (2)(所有)函数都是实例对象,他们都有_proto_,并且指向Function.prototype // 甚至包括广义的函数 function Foo(){} 函数本 阅读全文
posted @ 2021-12-30 21:35 嗜血汽车人 阅读(80) 评论(0) 推荐(0)
摘要:一. 1.promise的执行流程 2.Promise的API (1)promise构造函数的结构 promise构造函数接收一个参数==>这个参数是个函数,被称为执行器函数==>执行器函数接收两个参数,这两个参数也都是函数 执行器函数的内部代码是默认同步调用的,不会进入到队列中等候 执行器函数也可 阅读全文
posted @ 2021-12-29 22:13 嗜血汽车人 阅读(173) 评论(0) 推荐(0)
摘要:(1)订阅外部库 npm i pubsub-js import oubsub from 'pubsub-js' (2) this.pubid = pubsub.subscribe('hello',(msgname,data)=>{ //接收方执行回调,data为接收到的信息 }) //类似于定时器, 阅读全文
posted @ 2021-12-29 16:52 嗜血汽车人 阅读(39) 评论(0) 推荐(0)
摘要:(1)定义在vue的原型对象上! (2)用于组件间通信的中转站,方式还是自定义事件$emit() 因为只有某个组件销毁,但是$bus实例还没有被销毁,那么该组件绑定的事件就应该被解绑 阅读全文
posted @ 2021-12-29 16:34 嗜血汽车人 阅读(47) 评论(0) 推荐(0)
摘要:(1)注意:!!给组件使用的 (2)自定义事件绑定在该组件的实例对象vc上 (3)给那个组件标签绑定的自定义事件==>就在哪个组件中用methods中的方法调用$emit触发该事件 (4)用于组件间通信(数据) (5)销毁后所以组件的自定义事件都不生效了 逻辑上是: a组件调用b组件标签,并绑定一个 阅读全文
posted @ 2021-12-29 15:15 嗜血汽车人 阅读(134) 评论(0) 推荐(0)
摘要:local (1)在读取没有值的数据时返回null (2)关闭浏览器也不会清空数据,因为保存在本地 (3)清除浏览器缓存时会被清空 (4)一般5M存储大小 session (1)关闭浏览器丢失所有数据 (2)其余用法和local一样 在vue中用watch监视并保存到本地(注意要使用json) 阅读全文
posted @ 2021-12-29 13:39 嗜血汽车人 阅读(84) 评论(0) 推荐(0)
摘要:1.reduce(回调函数,统计初始值) array.reduce((pre,current)=>{},pre) (1)数组的长度length决定回调函数的调用次数 (2)reduce()返回最后一次调用的回调函数的返回值 (3)current代表数组中每一个项数据 (4)pre常为统计值,一般为0 阅读全文
posted @ 2021-12-29 13:03 嗜血汽车人 阅读(68) 评论(0) 推荐(0)
摘要:父子通信 1.父 => 子 在父组件template中调用子组件标签==>在子组件标签设置自定义属性并和父组件中data某项数据绑定==>子组件配置项使用props属性接收该自定义属性 ==>子组件data配置新的变量属性接收props构建一个新副本==>调用该属性(防止引用变量被修改) 2.子 = 阅读全文
posted @ 2021-12-29 12:08 嗜血汽车人 阅读(58) 评论(0) 推荐(0)
摘要:1.样式 (1) 使用注释 对于组件中的样式<style> 推荐每一个模块使用/*header*/ 注释,方便阅读和修改 (2)命名用破折号- .my-class { } 2.数据的存储方法 (1)对于数据量未知(用户输入),需要对数据进行操作 使用数组对象接收 [ {属性,方法}, {属性,方法} 阅读全文
posted @ 2021-12-28 22:12 嗜血汽车人 阅读(38) 评论(0) 推荐(0)
摘要:(1)查看插件版本 npm view less-loader versions 阅读全文
posted @ 2021-12-28 21:08 嗜血汽车人 阅读(35) 评论(0) 推荐(0)
摘要:// 在vue中组件编写时使用的属性 <style scoped> <style/> //scoped的作用在于防止不同组件的样式名(类名等)冲突 它实现的机理是: 注意 (1)在app.vue 根文件中设置的style是全局样式! 阅读全文
posted @ 2021-12-28 21:06 嗜血汽车人 阅读(120) 评论(0) 推荐(0)
摘要:vue的插件本质: 是一个对象 存放位置 : 一般在plugins.js文件 和components文件夹平级 1.如何引入插件 (1)定义后需要暴露这个对象,才能引用 (2)在创建vue实例之前引入 (3)使用Vue.use()在main.js注册使用插件 2.如何定义一个插件 插件的优点在于,可 阅读全文
posted @ 2021-12-28 20:53 嗜血汽车人 阅读(83) 评论(0) 推荐(0)
摘要:混入功能 实质就是java的工具类,他是一个.js文件,里面包含了这个应用中组件复用的方法 并用expert 暴露接口,组件可以按需要引入对应方法,直接调用即可 (1)一般放入common.js文件中 (2)配置项的methods,生命周期函数都可以写入mixins (3)对应配置对象中的mixin 阅读全文
posted @ 2021-12-28 20:45 嗜血汽车人 阅读(59) 评论(0) 推荐(0)
摘要:props配置属性用于父子之间通信 用法: 在父组件的template模板调用子组件标签,并设置对应的属性传给子组件 因为是传递属性,所以也可以用bind进行动绑定,实现父组件data动态传输给子组件,子组件的props配置属性就是接收对应传输属性的对象 props:{ name:{ type:St 阅读全文
posted @ 2021-12-28 20:35 嗜血汽车人 阅读(641) 评论(0) 推荐(0)
摘要:(1)$ref 作用:获取原生dom元素,避免在vue中再次使用原生的document.getElement方法 $ref是一个对象 使用方法 // 在需要的标签设置ref属性 <school/ ref = "xxx"> //获取: this.$refs.xxx * *可以在父组件中用ref绑定子组 阅读全文
posted @ 2021-12-28 19:27 嗜血汽车人 阅读(374) 评论(0) 推荐(0)
摘要:main.js是入口文件 vue.config.js 文件 阅读全文
posted @ 2021-12-28 19:10 嗜血汽车人 阅读(127) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-12-28 18:59 嗜血汽车人 阅读(38) 评论(0) 推荐(0)
摘要:render()函数的作用是解析模板template,因为引入精简版vue.js文件时没有模板解析这个功能所以用这个函数代替,节省了空间 阅读全文
posted @ 2021-12-28 18:58 嗜血汽车人 阅读(468) 评论(0) 推荐(1)
摘要:每次调用一个组件标签,vue会new一个新的组件vuecomponent实例 阅读全文
posted @ 2021-12-27 10:29 嗜血汽车人 阅读(104) 评论(0) 推荐(0)
摘要:总结如下 (1)VueComponent(options) 是一个构造函数,需要用new操作符才能调用 (2)组件本质是一个名为vuecomponent的构造函数,他是由Vue.extend()生成的 (3)我们只需要书写组件标签,vue解析时会 自动帮我们创建 => school组件的实例对象 v 阅读全文
posted @ 2021-12-26 20:41 嗜血汽车人 阅读(617) 评论(0) 推荐(1)
摘要:流程分为三步 非单文件组件:(实际不用,因为很麻烦,框架都是单文件组件) 局部注册 1.创建一个组件 const school = Vue.extend({ // 传入配置对象 // 子组件配置对象不要写el,根据vm引入作用到对应区域 // data属性需要写成函数 template:``, na 阅读全文
posted @ 2021-12-26 16:21 嗜血汽车人 阅读(955) 评论(0) 推荐(0)
摘要:1.直接返回一个字面量对象 function fun1() { return { age:10, name:'adain' } a = fun1(); b = fun1(); b.age = 18 ; console.log(b.age) // 18 console.log(a.age) // 10 阅读全文
posted @ 2021-12-26 16:03 嗜血汽车人 阅读(287) 评论(0) 推荐(0)
摘要:1.传统编写方式和组件编写方式的区别 组件方式编写可以很方便的复用和封装某些功能模块/组件的命名最好语义化,方便维护和阅读 编写时,我们可以将某些共用的功能或者样式部分抽象,得到对应的组件,按需要引入 注意实现一个功能构造一个组件,不要多个功能耦合到一起,耦合性越高,复用性越差 2.非单文件组件/单 阅读全文
posted @ 2021-12-26 15:56 嗜血汽车人 阅读(74) 评论(0) 推荐(0)
摘要:(1)阶段一:数据代理和监测创建阶段 (2)阶段二 :解析模板 进行两次判断 第一次判断,传入的配置对象是否有el属性 el:'#root' 没有该属性vue就找不到对应模板进行解析,也就无法继续下一阶段 除非之后直接调用vm.$mouted('#root')手动挂载该属性 第二次判断,是否配置对象 阅读全文
posted @ 2021-12-26 13:57 嗜血汽车人 阅读(95) 评论(0) 推荐(0)
摘要:1.split("分割条件(正则表达式或者字符)") 字符串 ==> 数组 默认返回数组 (1) 将单词分割为字符 "hello".split("") //可返回 ["h", "e", "l", "l", "o"] (2)将句子分割为单词 var words = sentences.split(' 阅读全文
posted @ 2021-12-23 12:11 嗜血汽车人 阅读(103) 评论(0) 推荐(0)
摘要:注意区别 //鼠标滚轮事件 @wheel = "demo"demo()注意执行顺序,用户滚动鼠标滚轮,触发事件执行demo()函数,函数执行完毕后,页面滚动条滚动所以,当demo()函数操作量很大时,就会出现页面卡顿,滚动条不移动的问题解决方法:passive事件修饰符:可以让事件默认行为立即执行, 阅读全文
posted @ 2021-12-23 12:03 嗜血汽车人 阅读(62) 评论(0) 推荐(0)
摘要:const vm = new Vue({ data:{ name:'boos' } }) // 注意 :使用构造函数构建vue实例时,传入的是一个option对象,它包含了data,computed等多个属性 option.data等价于书写的data等价于数据代理中的vm.$data 数据代理很明 阅读全文
posted @ 2021-12-23 10:00 嗜血汽车人 阅读(86) 评论(0) 推荐(0)