- 博客(32)
- 收藏
- 关注
原创 npm 打包时报错vue&type=style&index=0&id=e20931f0&lang=less&scoped解决方案
命令: npm uninstall less-loader。解决:先删除原来安装的less和less-loader。less和less-loader开发依赖包版本号过高。
2022-09-29 11:18:40
629
2
原创 vue常见的面试题
1、什么是MVVM框架?它适用于哪些场景?MVVM框架是一个 Model-View-View Model框架,其中 ViewModel连接模型Model)和视图(View)。在数据操作比较多的场景中,MVVM框架更合适,有助于通过操作数据渲染页面。2、active- class是哪个组件的属性?它是 vue-router模块的 router-link组件的属性。3、如何定义Vue- router的动态路由?在静态路由名称前面添加冒号,例如,设置id动态路由参数,为路由对象的path属
2021-09-10 14:15:09
123
转载 js数据类型转换
JS 数据类型转换方法主要有三种转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串。parseInt()方法首先查看位置0处的字符,判断它是否是个有效数字;如.
2021-09-08 08:36:33
193
原创 将其他数据类型转换为String
方式一:调用被转换数据类型的toString()方法该方法不会影响到原变量,它会将转换的结果返回但是注意,null和undifined这两个值没有toString()方法如果调用它们的方法,会报错方式二:调用String()函数,并将被转换的数据作为参数传递给函数使用String()函数做强制类型转换时 对于number和boolean实际上就是调用的toString()方法 但是对于null和undedined,就不会调用toString()...
2021-09-07 17:10:10
924
3
转载 js判断数据类型
判断数据类型有三种方式,typeof和(===)是判断基本类型的,instanceof是判断对象具体类型的1.typeof返回的是字符串console.log(typeof a==='undefined') //trueconsole.log(typeof a===undefined) //false12可以判断number,string,Boolean,undefined类型不能用在判断object和Arrayb1.b2 是个数组console.log(typ...
2021-08-31 15:04:20
93
原创 事件的委派/事件的委托/事件的代理
将事件统一绑定给元素的共同祖先元素,这样当后代元素上的事件触发时,会一直冒泡到祖先元素,从而通过祖先事件的响应函数来处理事件。事件委派是利用了冒泡,通过委派可以减少绑定的次数,提高程序性能。一、什么是事件的委派? 事件的委派也叫事件代理,简单理解就是:原本是某个元素需要绑定的事件,现在将这个事件交给别的元素去做,正常我们把它交给父级元素,比如:原本是给li绑定点击事件,现在交给它父级ul绑定,利用冒泡原理,点击li的时候会触发ul的事件;二、事件委派有什么好处? ...
2021-08-31 10:07:49
227
原创 Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
1、doctype的作用<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。2、严格模式和混杂模式的如何区分?他们有什么意义?标准模式(严格模式)的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式(混杂模式或怪异模式)中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。ps:向后兼容中.
2021-08-30 11:07:59
228
转载 浏览器页面有哪三层构成,分别是什么,作用是什么?
构成:结构层、表示层、行为层分别是:HTML、CSS、JavajScript作用:HTML实现页面结构、CSS完成页面的表现与风格、JavaScript实现客户端的一些功能和业务网页的结构层(structural layer)由 HTML 或 XHTML 之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”网页的表示层(presentation l.
2021-08-30 11:03:30
638
原创 Dom增删改
<ul id="city"> <li id="bj">北京</li> <li id="sh">上海</li> <li id="dj">东京</li> <li id="sr">首尔</li></ul><div><button id="btn01">创建一个"广州"节点,添加到city下</button></div.
2021-07-21 11:54:38
85
转载 vue 面试题
一 .vue的优点1.轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kbvue.js通过简洁的API提供高效的数据绑定和灵活额度组件系统2.简单易学:国人开发,中文文档3.双向数据绑定:也就是所谓的响应式数据绑定。这里的响应式不是@media 媒体查询中的响应式布局,而是指vue.js会自动对页面中某些数据的变化做出同步的响应。也就是说,vue.js会自动响应数据的变化情况,并且根据用户在代码中预先写好的绑定关系,对所有绑定在一起的数据和视图内容都进行修改。而这种绑定关系.
2021-07-12 13:35:39
257
1
原创 关于vue中的数据代理
1.什么是数据代理? (1)配置对象data中的数据,会被收集到vm._data中,然后通过Object.defineProperty让vm上拥有data中所有的属性 (2) 当访问vm的msg时,返回的是_data当中同名属性的值 (3)当修改vm的msg时,修改的是_data当中同名属性的值2.为什么要数据代理 为了更加方便的读取和修改data中的数据,不做数据代理,就要:vm._data.xxx访问数据3.为什么要先收集...
2021-07-12 10:32:42
183
1
原创 js 函数的两种常用方式
1.使用函数声明来创建语法: function 函数名([形参1,形参2...形参n) { 语句…… } function fun1(){ console.log("这是我的第一个函数") } fun1();2.使用函数表达式创建 (将匿名函数赋值给变量)赋值语句语法: var 函数名=function([形参1,形参2]) { 语句……...
2021-07-11 21:33:15
106
原创 DOM查询
1.通过document对象调用 -getElementById():通过id属性获取一个元素节点对象 -getElementsByTagName():通过标签名获取一组元素节点对象(数组) -getElementsByName():通过name属性获取一组元素节点对象(数组)获取元素节点的子节点2.通过具体的元素节点调用 -getElementByTagName():-方法,返回当前节点的指定标签名后代节点 ...
2021-07-11 20:03:08
123
原创 js 怎样实现图片的切换?
要切换图片就是修改img标签的src属性。获取img标签,是一个数组,必须有索引值<body><div id="router"> <p id="info"></p> <img src="../img/img.png"><br> <button id="prev">上一张</button> <button id="next">下一张</button&g..
2021-07-11 16:22:31
227
原创 js 正则表达式(如何检查一个字符串是否是一个合法手机号)?
手机号的规则:第一位 1开头 ^1第二位 3-9 [3-9]后9位 0-9 [0-9]$ var phoneStr="13344343443"; var reg=/^1[3-9][0-9]{9}$/ result=reg.test(phoneStr) console.log(result)
2021-07-10 16:30:55
755
1
原创 js 正则表达式(4)
量词-通过量词可以设置一个内容出现的次数-量词只对它前边的一个内容起作用{n}正好出现n次{m,n}出现m到n次{m,}m次以上+ 至少一个相当于{1,}* 0个或多个,相当于{0,}? 0个或一个,相当于{0,1} 创建一个正则表达式检查一个字符串中是否含有aaa var reg=/a/; console.log(reg.test("aaacd"))//打印true reg=/a{3}/; console...
2021-07-10 16:25:46
79
原创 js 正则表达式(3)
split()可以将一个字符串拆分成一个数组(拆分更加灵活)-方法可以传递一个正则表达式作为参数,这种方法将会根据正则表达式去拆分字符串这个方法即使不指定全局匹配,也会全部拆分 var result=str.split("a"); console.log(result)//打印["1", "2b3c4d5"] //根据任意字母拆分字符串 result=str.split(/[A-z]/); console.log..
2021-07-10 16:21:05
92
原创 js 正则表达式(2)
使用字面量来创建正则表达式语法: var 变量=/正则表达式/匹配模式 使用字面量的方式创建更简单 使用构造函数创建更灵活使用|表达或者的意思[]里的内容也是或的关系a|b=[ab][a-z]表示任意的小写字母[A-Z]任意大写字母[A-z]表示任意字母[^ ]表示除了 //创建一个正则表达式,检查一个字符串中是否有a或b reg=/a|b/i; console.log(reg.test("an"))//打印true
2021-07-10 16:17:22
54
原创 js 正则表达式(1)
使用构造函数来创建语法: var 变量=new RegExp("正则表达式","匹配模式");使用typeof来检查正则对象,会返回objectvar reg=new RegExp("a");这个正则表达式可以来检查一个字符串中是否含有a在构造函数中可以传递一个匹配模式作为第二个参数 -可以是 i 忽略大小写 g 全局匹配模式正则表达式的方法; test() -使用这个方法可以用来检查一个字符串是否符合正则表达式的规.
2021-07-10 16:14:00
71
原创 js中的Math方法
Math和其他的对象不同,它不是一个构造函数 它属于一个工具类不用创建对象,它里边封装了数学运算相关的属性和方法 console.log(Math.PI)//表示圆周率 console.log(Math.abs(-3)) //abs()用来计算一个数字的绝对值 console.log(Math.ceil(1.5))//小数位只要有值,就进位 console.log(Math.floor(1.5))//小数位扔掉 console.log.
2021-07-09 19:53:42
105
原创 js arguments
在调用函数时,浏览器每次都会传递进两个隐含的参数1.函数的上下文参数this2.封装实参的对象arguments --arguments是一个类数组对象,它可以通过索引来操作数据,也可以获取长度 --在调用函数时,我们所传递的实参都会在arguments中保存 --arguments.length可以用来获取实参的长度 --我们即使不定义形参,也可以通过arguments来使用实参, 只不过比较麻烦 ...
2021-07-09 15:10:41
46
原创 call和apply
这两个方法都是函数对象的方法,需要通过函数来调用当对函数调用call()和apply()都会调用函数执行在调用call()和apply()可以将一个对象指定为一个参数(此时这个对象会成为函数执行时的this)--call()方法可以将实参在对象之后依次传递--apply()方法需要将实参封装到一个数组中统一传递fun call(obj,2,3)fun apply(obj,[2,3])...
2021-07-09 14:51:17
32
原创 js去除数组中的重复元素
// 创建一个数组 var arr=[1,2,3,2,1,3,4,2,5] //去除数组中重复的数字 for(var i=0;i<arr.length;i++) { for(var j=i+1;j<arr.length;j++) { if(arr[i] == arr[j]) ..
2021-07-09 10:46:39
220
原创 MVVM初步理解
1.mvvm的理解: 1.M:模型(model):对应data中的数据 data:{ msg:"哒哒哒" } 2.V:视图(view):模版代码 <div id="root"> 单向数据绑定(v-bind):<input type="text" :value="msg"></br> 双向数据绑定(v-mo...
2021-07-08 22:04:45
163
1
原创 Vue中的数据绑定
1.单向数据绑定(v-bind):数据只能从data流向页面2.双向数据绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data备注: 1.双向数据绑定一般都是针对表单元素 2.v-model:value可以简写为v-model,因为v-model默认收集value值<div id="root"> 单向数据绑定(v-bind):<input type="text" :value="msg"></br> 双..
2021-07-08 21:24:26
88
1
原创 数组的六个方法
1.push():向数组的末尾添加一个或多个元素。并返回数组的新的长度2.pop():删除数组末尾的元素,返回删除的元素(pop一次,删掉一个,pop两次删掉两个)3.unshift():向开头添加新的元素并返回新的长度4.shift():可以删除数组的第一个元素,并将被删除的元素作为函数值返回 //创建一个数组 var arr=["孙我空"," 猪八戒","沙河声"]; /* push() 该方法可以.
2021-07-08 16:36:01
369
1
原创 js原型(2)
function MyClass(){ } //向MyClass的原型中添加了一个name属性 MyClass.prototype.name="我是原型中的名字" var mc=new MyClass() console.log(mc.name) mc.age=19 //使用in检查对象中是否含有某个属性时,如果对象中没有但是原型中有,也会返回true // console..
2021-07-08 14:49:40
45
1
原创 js原型对象
我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype 这个属性对应着一个对象,这个对象就是我们所谓的原型对象如果函数作为普通函数调用prototype没有任何作用当函数以构造函数的形式调用时,它所创建的对象中都会有一个隐含的属性, 指向该构造函数的原型对象,我们可以通过__proto__来访问该属性原型对象就相当一个公共的区域,所有同一个类的实例都可以访问到这个原型对象,我们可以将对象中公共的内容,统一设置到原型对象中。当我们访...
2021-07-08 11:38:41
96
1
原创 js构造函数
创建一个构造函数,专门用来创建Person对象的构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。构造函数和普通函数的区别就是调用方式的不同普通函数直接调用,而构造函数需要使用new关键字来调用构造函数的执行流程1.立即创建一个新的对象2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象3.逐行执行函数中代码4.将新建的对象作为函数值返回使用工厂方法创建对象 通过该方法可以大批量的创建对象
2021-07-08 09:48:07
71
1
原创 js使用工厂方法创建函数
var obj={ name:“孙悟空", age:18, gender:"男", sayName:function(){ alert(this.name);}var obj={ name:“沙和尚", age:28, gender:"男", sayName:function(){ alert(this.name);}var obj={ name:“白骨精", age:18, gender:".
2021-07-07 21:46:07
99
1
原创 this指向问题
解析器在调用函数时每次都会向函数内部传递一个隐含的参数,这个隐含的参数就是this,this指向是一个对象,这个对象我们称为函数执行的上下文对象。根据函数调用方式的不同,this会指向不同的对象1.以函数的方式调用时,this指向永远都是window2.以方法的形式调用时,this就是调用方法那个对象 function fun() { console.log(this.name) } fun() //window var obj={
2021-07-07 20:41:20
59
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人