考题
..
苏喂苏喂苏喂su
专注前端开发
展开
-
原型
写1个方法使下面的方法可以执行并得出相应的结果const a = [1, 2, 3, 4, 5]a.multiply()console.log(a) // [1, 2, 3, 4, 5, 1, 4, 9, 16, 25]思路:要求数组a调用multiply方法得出相应的结果,首先需要让a拥有multiply方法。那就需要将multiply方法添加到数组原型中,这样所有数组都能调用到...原创 2020-03-02 17:22:53 · 269 阅读 · 0 评论 -
JavaScript(六)
点击Li,打印出对应的下标<ul id="container"> <li></li> <li></li> <li></li> <li></li> <li></li></ul>答案1:let container = do...原创 2019-11-05 23:53:28 · 111 阅读 · 0 评论 -
vue题
1、说说什么是MVVM ?答案在之前的几篇文章中已写过,就不再重复了;链接:https://blog.csdn.net/joyvonlee/article/details/905741492、使用vue有什么好处?使用vue框架,可以更好的管理和维护常用的组件,可以减少直接操作DOM的次数,让页面渲染更加高效;由于vue的设计模式,在很大程度上,可以让我们在开发中专注于业务的实现...原创 2019-08-08 22:47:07 · 861 阅读 · 0 评论 -
JSONP实现原理
JSONP(JSON with padding)的原理是利用了script标签的src属性不受浏览器的同源策略限制,来进行数据请求的。使用JSONP的请求方式,需要后端支持。当前端发送GET请求的时候,会在URL上给一个参数,参数的值就是回调函数的名称;后端接收到请求后,会返回一个函数,函数名就是GET请求的参数,返回的函数还有一个实参,一般来说,这个实参就是我们想要的数据,它是一个jso...原创 2019-08-01 17:26:38 · 535 阅读 · 0 评论 -
什么是NaN?它的类型是什么?如何可靠地测试一个值是否等于NaN?
当数学运算的结果的值不是一个有效数字的时候,它就是NaN,本质上NaN也是一个数字,因为它的类型是Number的。如何判断一个值是否等于NaN?这里罗列3种可靠的判断方法:1、利用NaN的特性:不等于任何值function myIsNaN(n) { return n !== n}let a = 1;let b = 2;let c = 'bar';let d = a...原创 2019-07-28 12:08:16 · 3129 阅读 · 0 评论 -
JavaScript(五)
1、如何优化前端页面加载速度?将小的图片合并成一张Sprite图,可以减少HTTP请求。 使用缓存。 css文件放在头部head,脚本文件放在body的底部。 使用懒加载 使用内容分发网络(CDN) 压缩css和js文件 减少重定向,因为重定向会导致HTTP请求增加。2、对该数组进行去重let arr = [NaN, 1, 1, "2", "2", "hello", ...原创 2019-08-02 20:48:44 · 165 阅读 · 0 评论 -
如何使用js写一个函数,输入n,返回实现斐波那契数列
斐波那契数列指的是这样的一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144这个数列有一个规律,就是前两位的和等于它们的前一位,也就是说,从第三位开始,它的数值是前两位数值之和。既然知道它的规律,就可以尝试着使用递归函数来实现:function fb(n) { if(n == 1 || n == 2) { return ...原创 2019-08-02 15:20:18 · 1891 阅读 · 1 评论 -
JavaScript(四)
1、怎么实现不用i取到abcd的值let arr = [{a: 1, i: {b: 2, c: 3, d: 4}}];答案:使用ES6的解构赋值let [{a, i:{b, c, d}}] = arr;console.log(a, b, c, d) // 1 2 3 42、使用typeof bar ===“object”来确定bar是否是一个对象时有什么潜...原创 2019-07-28 11:34:35 · 109 阅读 · 0 评论 -
手动实现一个call方法和apply方法以及bind方法
手动实现一个call方法方法如下:Function.prototype.myCall = function(object) { let obj = object || window; // 如果没有传this参数,this将指向window obj.fn = this; // 获取函数本身,此时调用call方法的函数已经是传进来的对象的一个属性,也就是说函数的this已经指向...原创 2019-07-18 16:26:55 · 1342 阅读 · 1 评论 -
正则表达式
1、将一个字符串 例如:border-left-top转化成驼峰形式let str = 'border-left-top';let reg = /-\w/g;console.log(str.replace(reg, function(i){return i.slice(1).toUpperCase()}))代码解析:第一步let reg = /-\w/g;先获取到横杠 - ,...原创 2019-06-30 15:45:03 · 529 阅读 · 0 评论 -
字符串方法操作
1、写一个判断是否为类数组的方法for(let i = 0; i < 10; i++) { let div = document.createElement("div"); div.className = "testDiv"; document.body.appendChild(div);}let div = document.getElementsByCl...原创 2019-06-29 21:54:26 · 228 阅读 · 0 评论 -
关于this指向的问题
1、求解答为什么x.x调用结果会是undefinedfunction a(xx){ this.x = xx; return this;}var x = a(5);var y = a(6);console.log(x.x);console.log(y.x);提问者问题是:求解答为什么x.x调用结果会是undefined现在来分析下为什么会输出undefi...原创 2019-07-04 15:42:29 · 1406 阅读 · 6 评论 -
根据数组中对象的某个属性进行排序
根据数组中对象的某个属性进行排序本题根据对象的id来进行降序排序let a = [ { id: 12, name: 'zhangsan' }, { id: 20, name: 'lisa' }, { id: 9, name: 'wangwu' }]// 排序方法1 (封装了,可对任何属性进行排序)function compare(propert...原创 2019-06-28 13:06:18 · 1609 阅读 · 0 评论 -
JavaScript(三)
1、下面代码的输出是什么?function checkAge(data) { if (data === { age: 18 }) { console.log("You are an adult!"); } else if (data == { age: 18 }) { console.log("You are still an adult."); } else {...原创 2019-06-26 23:18:08 · 1163 阅读 · 0 评论 -
vue.js的两个核心
vue的两个核心:1、数据驱动:在vue中,数据的改变会驱动视图的自动更新。传统的做法是需要手动改变DOM来使得视图更新,而vue只需要改变数据。2、组件组件化开发,优点很多,可以很好的降低数据之间的耦合度。将常用的代码封装成组件之后(vue组件封装方法),就能高度的复用,提高代码的可重用性。一个页面/模块可以由多个组件所组成。...原创 2019-06-27 23:32:34 · 7965 阅读 · 0 评论 -
JavaScript(二)
1、下面代码的输出是什么?+true;!"Lydia";该题主要考察的是数据类型转换,加运算会将true转换为数字1,如果是false会转为数字0。第二行的字符串“Lydia”进行布尔值转换的时候,会转换为true,但是!号是取反的意思,所以最后第二行代码的结果为false。该地答案为:1和false。2、下面代码会输出什么?let a = 3;let b = new...原创 2019-06-19 23:48:34 · 621 阅读 · 0 评论 -
JavaScript(一)
1. 下面代码的输出是什么?function sayHi() { console.log(name); console.log(age); var name = "Lydia"; let age = 21;}sayHi();这道题考的是变量提升,在预编译中,函数执行之前,会将变量和形参提升到函数最顶端(放到AO对象,并赋值为undefined),然后才开始执行代码。...原创 2019-06-18 22:44:43 · 439 阅读 · 0 评论