- 博客(19)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 6种JavaScript继承方式及优缺点
温馨提示:想要更好的理解JS继承方式,须了解构造函数、原型对象、实例化对象、原型链等概念第一种:原型链继承利用原型链的特点进行继承function Parent(){ this.name = 'web前端'; this.type = ['JS','HTML','CSS'];}Parent.prototype.Say=function(){ console.log(...
2020-02-06 00:52:11
608
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 1+x证书Web 前端开发初级——理论考试(试卷1)
一、单选题(每小题2分,共 30 小题,共 60 分)1.HTML语言中,设置表格中文字与边框距离的标签是()A、B、C、D、2.以下说法,错误的是()A、mark用于显示变粗的文字B、用于显示删除的文本C、的文字会带下划线D、用于强调文本3.设置文字颜色应使用属性()A、font-familyB、font-colorC、colorD、font4.根据规范,哪些标签...
2019-12-21 15:31:07
2480
原创 21天完美搞定Vue框架技术(第3天)
前言:上一节我们主要学的是【选项合并】,了解了初始化阶段各个选项的合并策略,本节课我们来学一下【数据代理】这个知识点。1、数据代理的定义数据代理,也叫作数据劫持。有两个核心作用:(1)在访问对象的属性时,可以进行其他的操作(2)在修改对象的属性时,可以修改返回的结果说白了,就是会自动触发一些函数(方法),在该函数(方法)中处理我们业务逻辑上的需求。2、数据代理的种类这里给大家介绍...
2020-02-25 01:29:41
187
原创 21天完美搞定Vue框架技术(第2天)
前言:实例化Vue的核心是做_init方法的初始化初始化的关键一步是选项的合并合并的本质就是用户自定义选项和Vue自带默认选项的合并所以,今天我们要学习的就是关于选项合并的一些知识1、Vue当中每种选项合并都有定义好的合并策略合并策略原则:(1)如果父类组件和子类组件有相同的选项,直接合并(2)如果父子组件没有相同选项,子类组件有取子组件,没有子组件取父组件2、选项合并的种类包...
2020-02-21 22:42:29
245
原创 21天完美搞定Vue框架技术(第1天)
1、Vue本质上是一个构造函数,只能通过new调用function Vue (options) { // 保证了无法直接通过Vue()去调用,只能通过new的方式去创建实例 if (!(this instanceof Vue)) { warn('Vue is a constructor and should be called with the `new` key...
2020-02-19 18:16:38
226
原创 两种JavaScript异常处理的方式
一、浏览器抛出异常1、标准格式try{ //可能发生异常的代码 }catch(error){ //发生错误执行的代码 }2、finally语句try{ //可能发生异常的代码 }catch(error){ //发生错误执行的代码 }finally{ // 不管 try 中的语句有没有错误,都会执行的语句}即:try 中语句不发...
2020-02-17 16:57:58
197
原创 JavaScript模块化的作用、原理、方案
一、模块化概念将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起;块的内部数据与实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信。二、模块化作用为什么要用模块化的JavaScript?因为在实际的开发过程中,经常会遇到变量、函数、对象等名字的冲突,这样就容易造成冲突,还会造成全局变量被污染;同时,程序复杂时需要写很多代码,而且还要引入很多类库...
2020-02-14 14:45:16
427
原创 JavaScript中的this原理及6种常见使用场景
一、this原理this是JavaScript的一个关键字,函数调用时才会出现;因为函数是在一定的环境中运行的,调用函数时肯定需要知道是[谁调用的]?就用到了this进行指向;那么this到底指向的是什么?this 既不指向函数自身,也不指函数的词法作用域,而是调用函数时的对象!二、使用场景(一)普通函数的调用,this指向的是Windowvar name = '卡卡';func...
2020-02-13 17:17:34
433
原创 JavaScript中的执行上下文及调用堆栈
一、执行上下文是什么代码运行是在一定的环境之中运行的,这个运行环境我们就成为执行环境,也就是执行上下文,按照执行环境不同,我们可以分为三类:全局执行环境:代码首次执行时候的默认环境函数执行环境:每当执行流程进入到一个函数体内部的时候Eval执行环境:当eval函数内部的文本执行的时候二、执行上下文栈是什么既然是‘栈’,那就得符合‘栈’的特性,即数据结构是先进后出。下面我们看一段代码:...
2020-02-12 15:33:41
115
原创 JavaScript中闭包的概念、原理、作用及应用
一、闭包概念闭包:有权访问另一个函数作用域中的变量的函数;一般情况就是在一个函数中包含另一个函数。从官方定义我们知道闭包是一个函数,只不过这个函数有[超能力],可以访问到另一个函数的作用域。为什么说这个叫做[超能力]呢?因为我们知道函数作用域是独立的、封闭的,外部的执行环境是访问不了的,但是闭包具有这个能力和权限。那闭包是怎样的一个表现形式呢?第一,闭包是一个函数,而且存在于另一个函...
2020-02-11 18:12:01
283
原创 JS中的词法作用域(静态作用域)和动态作用域
首先说明一下,JavaScript没有用动态作用域概念,但 this 机制却和动态作用域类似!JavaScript是通过作用域链的方式进行变量查找的,而JS作用域链是词法作用域,也就做静态作用域!词法作用域:在函数声明(定义)时确定的动态作用域:在函数调用时确定的var cat = '有鱼';function person() { console.log(cat); // 有鱼}f...
2020-02-10 18:10:30
490
原创 深入理解JavaScript的作用域和作用域链
一、作用域(一)作用域是什么了解作用域之前先看一下变量和函数,变量和函数都有一定的访问权限,就是必须满足条件或者在某个范围之内才能访问,这个范围就是作用域。它具体表现形式就是一段特定的代码,在该代码段中的变量和函数是封闭的、独立的,这样变量才不会泄露、污染。var cat = '有鱼';function Person(){ var name = '张三'; console...
2020-02-10 13:29:21
114
原创 全面理解JavaScript中class的实现原理
一、class类概念与语法ES5之前不存在类的概念,创建对象使用的构造函数,通过new操作符来创建;为使JS更像面向对象,ES6版本引入class概念,其基本语法:class Cat{ constructor(name,age){ this.name = name; this.age = age; } Say(){ re...
2020-02-07 23:07:37
1319
原创 彻底了解instanceof的底层实现原理
一、作用①用于判断某个实例是否属于某构造函数②在继承关系中用来判断一个实例是否属于它的父类型或者祖先类型的实例说白了,只要右边变量的 prototype 在左边变量的原型链上即可。因此,instanceof 在查找的过程中会遍历左边变量的原型链,直到找到右边变量的 prototype,如果查找失败,则会返回 false二、语法[对象] instanceof [构造函数]如:var o...
2020-02-06 22:49:01
577
原创 JavaScript中new操作符的详细过程
理解new对象过程,需要提前了解原型及原型链的相关知识我们都知道,JS当中创建对象使用的是原型设计模式,即使用new操作符调用构造函数这里先看一个例子:function Person(name,sex){ this.name = name; this.sex = sex;};Person.prototype.go = function(){ return this...
2020-02-04 17:08:39
258
原创 JavaScript中精度失准问题及解决方法
首先来看一下JavaScript中的数字类型的存储情况①JS中所有的数字(小数、整型)都是浮点型②JS中小数、整型都是Number类型③JS中Number类型使用binary64或双精度表示的,实质是一个二进制格式64位的浮点数④64位的二进制具体为最高的1位是符号位,接着的11位是指数,剩下的52位为有效数字⑤符号位决定了一个数的正负,指数部分决定了数值的大小,小数部分决定了数值的精度...
2020-02-03 22:25:01
642
原创 JavaScript隐式转换之道
JavaScript的数据类型隐式转换主要分为三种情况场景一:算术运算符转化原则:大致是换为数值,个别是换为字符串-*/%运算符①字面量及new内置对象,true为1;false为0②null为0③undefined为NaN④字符串的字面量及new内置对象,空字符串为0,纯数字为数字本身,带有非数字时为NaN;⑤对象及数组等引用类型,先变为字符串,再根据④进行转变+号运算符以...
2020-02-02 22:33:08
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人