![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js基础
励公子
这个作者很懒,什么都没留下…
展开
-
谈谈JS继承
1、原型链继承如果想深入了解更多原型的内容,可以参考之前的文章function Parent(value) { this.parentVal = 'parent'}Parent.prototype.getParentValue = function() { return this.parentVal}function Child() { this.childVal = 'chi...原创 2019-12-13 13:58:49 · 162 阅读 · 0 评论 -
JS中new的实现
我们知道,JS中的new操作符可以用来创建构造函数的实例对象,比如下????:function Cat(name, age) { this.name = name this.age = age}var cat1 = new Cat('小米', 2) // Cat { name: "小米", age: 2 }我们打印一下cat1:那么new内部到底做了什么呢❓听我们娓娓道来...原创 2019-12-05 18:49:02 · 348 阅读 · 0 评论 -
原型链
创建对象之设计模式工厂模式function createCat(name, age) { var o = new Object() o.name = name o.age = age o.sayName = function() { console.log(this.name) } return o}var cat = cre...原创 2019-11-25 14:56:18 · 238 阅读 · 0 评论 -
el-table自定义表头
类似实现这类功能;方法一<el-table-column width="150"> <template slot="header" slot-scope="slot"> <span class="strategy-column">*</span> <span>告警类型</span> </templa...原创 2019-10-24 16:41:01 · 5049 阅读 · 0 评论 -
['1', '2', '3'].map(parseInt)
这道题大家应该经常会碰到,我们打印一下结果想要彻底弄懂同类型的题,我们必须先弄懂map,parseIntmaparray.map(function(currentValue, index, arr), thisValue)参数解析:item:第一个参数,数组中正在处理的当前元素(必选)index:第二个参数,数组中正在处理的当前元素的索引(可选)thisArr:第三个参数,ma...原创 2019-10-22 15:02:07 · 179 阅读 · 0 评论 -
a == 1 && a == 2 && a == 3
js中有7种数据类型,可以分为两类:基础类型(原始值):Undefined、 Null、 String、 Number、Boolean、 Symbol(es6新出的)复杂类型(对象值):object什么情况下能正确打印‘success’?var a = ???if(a == 1 && a == 2 && a == 3 ){ consol...原创 2019-10-18 20:20:54 · 175 阅读 · 0 评论 -
JS数据类型转换
当操作符两边的操作数类型不一致或者不是基本类型(也叫原始类型)时,需要进行类型转化。隐式转换规则:转成string类型: +(字符串连接符)转成number类型:++ / – (自增自减运算符)、+ - * / %(算术运算符)、 > <、 >= <=、 == != 、=== !=== (关系运算符)转成boolean类型:!(逻辑非运算符)复杂类型的隐式转...原创 2019-10-18 20:18:45 · 156 阅读 · 0 评论 -
按值传递和按引用传递
对于基本类型而言,是按值传递的var a = 1;function test(x) { x = 10; console.log(x); // 10}test(a);console.log(a); // 1按值传递的意思就是形参是实参的复制,形参实参互不干扰So,虽然在函数test中a被修改,但是并没有影响到函数外部a的值那么复杂类型呢?按值传递还是引用类型传递?引用类型...原创 2019-08-28 16:45:31 · 258 阅读 · 0 评论 -
ES6新增的Symbol
基础数据类型ES6中引入了一种新的数据类型symbol,它是JS的第七种基础数据类型,前六种分别为:undefined、null、Boolean、String、Number、Object由于Symbol是一种基础数据类型,所以当我们使用typeof去检查它的类型的时候,它会返回一个属于自己的类型symbollet s = Symbol()typeof s // "symbol"我们可以...原创 2019-08-21 15:37:07 · 203 阅读 · 0 评论 -
call()、apply()和bind()的区别
同在js中,call、apply、bind这三个方法主要是为了改变函数中this的指向var a = { name: "阿里巴巴", fn:function(){ console.log(this.name); }}var b = a.fnb() //undefinedb.call(a) // 阿里巴巴b.apply(a) // 阿里巴巴...原创 2019-06-18 17:14:02 · 99 阅读 · 0 评论 -
let存在变量提升么?
答案是Yes,会提升,但是没有被初始化不信的话可以比较一下以下代码:let a = 'code'{ console.log(a) // code}let b = 'js'{ console.log(b) // Uncaught ReferenceError: Cannot access 'b' before initialization let b = 'css'}...原创 2019-06-18 14:06:04 · 2134 阅读 · 6 评论 -
箭头函数的this和普通函数的this有何不同
在我们讲解之前先以一道题引入:const shape = { radius: 10, diameter() { return this.radius * 2; }, perimeter: () => 2 * Math.PI * this.radius}shape.diameter() // 20shape.perimeter() // NaN经过多番查阅...原创 2019-06-18 11:19:36 · 3204 阅读 · 1 评论 -
ajax跨域
看慕课网ajax课程小做了一下笔记,具体如下为什么会发生跨域?浏览器限制有时候请求返回200,但是还是报跨域error,就是因为浏览器做了安全限制跨域(协议、域名、端口任意不同引起)发出的请求是xhr(xmlHttpRequest)类型发出的如果不是xhr请求,就算有跨域问题也不会报错(比如静态资源)这三个原因同时满足才可能引起跨域问题解决思路我们从引起跨域的三...翻译 2019-06-05 17:23:22 · 152 阅读 · 0 评论 -
实现表格的固定列和表头的效果
前言基于表格横向有超多数据的需求,渲染量比较大,使用el-table的固定列功能会出现2~3秒的卡顿,所以自己实现了一个固定头+列的表格效果脱离element-ui又借鉴element-ui,实现类似el-table的固定列和表头的效果1-1固定,1-2只支持上下滑动,2-1只支持左右滑动,2-2上下、左右均可滑动其中下图中1-2和2-1两part的滑动事件应用了el-table的mou...原创 2019-04-30 16:23:44 · 2157 阅读 · 0 评论 -
token验证机制
最近在vue-cli项目实现登录的过程中用到了token验证,在此总结如下1. 客户端以用户名与密码为参数请求登录API2. 服务端收到登录请求去验证用户名与密码3. 验证通过,服务端会生成Token,再把这个Token响应给客户端.4. 客户端收到Token,存储到本地,如Cookie,SessionStorage,LocalStorage.我们选择了cookie5. 客户端每次向服务...原创 2019-05-08 15:30:32 · 232 阅读 · 0 评论