
前端
evior
因为爱 所以爱
展开
-
js的面试与笔试---JS去重的几种方法与性能比较
1、新数组嵌套对比 二次测试时间 13 59思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。Array.prototype.unique=function () { //创建新数组 var newArr=[]; //遍历数组 ...原创 2018-07-29 13:18:32 · 271 阅读 · 0 评论 -
js的面试与笔试---JS实现继承的几种方式
前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = f...转载 2018-07-27 19:01:29 · 751 阅读 · 0 评论 -
js的面试笔试--javascript中call()、apply()、bind()方法的区别
在JavaScript 中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply 和bind这三个方法,来改变函数体内部 this 的指向,因为函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念.call、apply、bind方法的共同点和区别:apply ...转载 2018-07-27 18:53:42 · 646 阅读 · 0 评论 -
js面试与笔试---js中的call()方法和apply()方法用法总结
1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。2. 相同点:这两个方法的作用是一样的。都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。call()方法使用示例: //例1 ...转载 2018-07-27 18:21:12 · 453 阅读 · 0 评论 -
js的面试与笔试--JavaScript prototype原型和原型链详解
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了,最近看了一些 JavaScript高级程序设计,终于揭开了其神秘面纱。每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属...转载 2018-07-27 17:48:31 · 6378 阅读 · 1 评论 -
js的面试与笔试---数据结构Set的用法
特性似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。我们可以利用这一唯一特性进行数组的去重工作。单一数组的去重。let set6 = new Set([1, 2, 2, 3, 4, 3, 5])console.log('distinct 1:', set6)结果:distinct 1: Set { 1, 2, 3, 4, 5 } 多数组的合并去重...原创 2018-07-31 17:33:18 · 430 阅读 · 0 评论 -
ES的面试与笔试----浅谈ES6新增类型Symbol
1、Symbol概述JavaScript基本数据类型有6种:Undefined、Null、Boolean、String、Number、Object。ES6新增了一种数据类型:Symbol,表示独一无二的值,Symbol最大的用途是用来定义对象的唯一属性名。ES5的对象属性名都是字符串,容易造成属性名的冲突。如使用了一个其他人提供的对象,但又想为其添加新的方法(mixin模式),那么新方...转载 2018-07-31 17:03:58 · 804 阅读 · 0 评论 -
js的面试与笔试 ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。那就new一个var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(...转载 2018-07-31 15:20:02 · 2695 阅读 · 0 评论 -
js的面试与笔试--ES class
ES5中的近类结构ES5以及之前的版本,没有类的概念,但是聪明的JavaScript开发者,为了实现面向对象,创建了特殊的近类结构。ES5中创建类的方法:新建一个构造函数,定义一个方法并且赋值给构造函数的原型。'use strict';//新建构造函数,默认大写字母开头function Person(name) {this.name = name;}//定义一个方...转载 2018-07-31 13:09:20 · 240 阅读 · 0 评论 -
js面试与笔试---ES6 块级作用域
1、为什么需要块级作用域ES5只有全局作用域和函数作用域,没有块级作用域,会带来以下问题:1) 变量提升导致内层变量可能会覆盖外层变量var i = 5;function func() {console.log(i);if (true) {var i = 6;}}func(); // undefined 2) 用来计数的循环变量泄露为全局变...原创 2018-07-31 12:18:11 · 374 阅读 · 0 评论 -
js面试笔试--ES6的解构
前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新特性:解构。解构是一种打破数据结构,将其拆分为更小部分的过程。本文将详细介绍ES6解构赋值 引入 在ES5中,开发者们为了从对象和数组中获取特定数据并赋值给变量,编写了许多看起来同质化的代码let options = { repeat: true, ...转载 2018-07-31 12:05:16 · 1599 阅读 · 1 评论 -
js面试笔试--prototype详解
对JavaScript中原型模式的理解一:什么是原型对象?有什么优点? 简单的来说,无论何时,我们创建的每一个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,这个对象包含了通过调用该构造函数所创建的对象共享的属性和方法。其实我们平常的叫法就是指:prototype就是通过该构造函数创建的某个实例的原型对象,但是其实prototype是每个构造函数的属性而已,只能说...转载 2018-07-27 17:10:04 · 2806 阅读 · 3 评论 -
js面试笔试---js的严格模式
1、必须用var关键字初始化变量2、不能使用with关键字(1、with效率低下 2、可能导致内存泄露)3、严格模式写会出现会出现除了全局作用域和局部作用域之外的第三种作用域eval作用域 4、为了安全,全面禁止this关键字指向全局window对象5、为了安全,禁止函数内部调用栈6、为了安全,禁止删除变量,对象的成员变量可以删除7、普通模式写对一个对象的只读属性赋值,不会...原创 2018-07-27 11:16:48 · 776 阅读 · 0 评论 -
js的面试与笔试--es6---let、const关键字
ES5只有两种声明变量的方式:var和function,ES6还添加了两种常用的声明变量的方式:let和const。 下面介绍ES6的let命令:ES6新增了let命令,用来声明变量,它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。1、for循环的计数器,就很合适使用let。var a = [];for (var i = 0; i < 10;...原创 2018-07-30 11:52:02 · 764 阅读 · 0 评论 -
js的面试与笔试--js之变量提升
js代码解析原则首先js引擎在读取js代码时会进行两个步骤,第一个步骤是解释,第二个步骤是执行。 所谓解释就是会先通篇扫描所有的Js代码,然后把所有声明提升到顶端,第二步是执行,执行就是操作一类的。例子1:<script type="text/javascript"> console.log(a);//输出结果 undefined var a=10;...转载 2018-07-30 11:23:30 · 455 阅读 · 0 评论 -
js的面试和笔试---JS中this关键字详解
本文主要解释在JS里面this关键字的指向问题(在浏览器环境下)。阅读此文章,还需要心平气和的阅读完,相信一定会有所收获,我也会不定期的发布,分享一些文章,共同学习首先,必须搞清楚在JS里面,函数的几种调用方式:普通函数调用作为方法来调用作为构造函数来调用使用apply/call方法来调用Function.prototype.bind方法es6箭头函数但是不管函...转载 2018-07-29 17:10:07 · 720 阅读 · 0 评论 -
js面试与笔试---理解 JavaScript 作用域和作用域链
任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域: (1)最外层函数和在最外层函数外面定义的变量拥有全局作用...转载 2018-07-29 16:39:57 · 5238 阅读 · 0 评论 -
React + Dva + Antd + Umi 快速入门
https://blog.youkuaiyun.com/SCU_Cindy/article/details/82432971 使用Ant Design Pro,一个企业级开箱即用的中后台前端https://blog.youkuaiyun.com/m0_37136491/article/details/82222122转载 2019-01-15 22:42:49 · 1022 阅读 · 0 评论