javascript
文章平均质量分 59
javascript基础知识,面试题
蒙奇·D·伊丽莎白
这个作者很懒,什么都没留下…
展开
-
Bootstrap3 与Bootstrap4垂直水平居中
Bootstrap水平居中// 文本:class ="text-center"// 图片居中:class = "center-block"//其他元素://bootstrap3水平居中:利用bootstrap列偏移class = "col-md-offset-4 col-lg-offset-4col-xl-offset-4"// boots...原创 2018-07-03 15:58:42 · 100828 阅读 · 1 评论 -
最简单代码实现promise
Promise是一个对象,保存着未来将要结束的事件,它有两个特征:1、对象的状态不受外部影响,Promise对象代表一个异步操作,有三种状态,pending进行中,fulfilled已成功,rejected已失败,只有异步操作的结果,才可以决定当前是哪一种状态,任何其他操作都无法改变这个状态,这也就是promise名字的由来2、一旦状态改变,就不会再变,promise对象状态改变只有两种可...原创 2019-05-27 22:26:27 · 594 阅读 · 0 评论 -
setTimeout面试题
一.考察闭包// 输出全为10for(var i=0;i<10;i++){setTimeout(function(){console.log(i);},50);}答1:使用闭包for(var i=0;i<10;i++){(function(i){setTimeout(function(){...原创 2019-05-08 01:51:08 · 1060 阅读 · 0 评论 -
跨域
跨域问题如何解决 什么是跨域 同源策略:所谓同源策略,它是浏览器的一种最核心最基本的安全策略。它对来至不同源的文档或这脚本对当前文档的读写操作做了限制。同协议、ip、端口的脚本才会执行。只要协议、域名、端口有任何一个不同,都被当作是不同的域.js跨域是指通过js在不同的域之间进行数据传输或通信. 为什么限制跨域 为什么要有这个策略,想必你已...原创 2019-05-08 19:23:03 · 214 阅读 · 0 评论 -
This-创建作用域安全的构造函数
This(10分)1. 例:function Person (name , age, job) { this.name = name; this.age = age; this.job = job; }使用new 调用var person = new Person('lsq',18, 'SE');this指向?答:person...原创 2019-03-28 17:37:15 · 169 阅读 · 0 评论 -
类型判断
1、类型判断有哪些方法,各有什么局限性(至少3个)答:typeof: 局限性不能判断是否为数组 instanceofinstanceof 是用来判断 A 是否为 B 的实例,表达式为:A instanceof Binstanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型.instanceof 操作符的问题在于,它假定只有一个全局执行...原创 2019-03-28 17:36:25 · 532 阅读 · 0 评论 -
对象的拷贝
1、举例实现对象拷贝的方法(至少2个)例:var obj = { 'name' : 'zhangsan', 'age' : '18', 'language' : [1,[2,3],[4,5]],};答:(1)赋值得到的对象(对象的引用相同,错误答案)var obj1 = obj; (2)通过浅拷贝得到的对象(对象的引用不同)...原创 2019-03-28 17:35:25 · 141 阅读 · 0 评论 -
防篡改对象
防篡改对象的实现方式有哪些?以及它们的安全级别答:不可扩展对象Object.preventExtensions(),这样就不能向对象中新添加属性和方法了。不可扩展量一级保护措施。判断:Object.isExtensible()方法使用这个方法可以确定对象是否为可篡改,如果可篡改,则返回true,相反返回false。密封的对象Object.seal()对象的...原创 2019-03-28 17:34:19 · 324 阅读 · 0 评论 -
函数柯里化
一、简单题目add (a,b)改写add(a)(b)// 普通的add函数function add(x, y) { return x + y}add(1,2);carray之后://carryfunction add (x) { return function(y) { return x + y; }}add(...原创 2019-03-28 17:33:23 · 941 阅读 · 0 评论 -
数组的拷贝
数组的拷贝(至少3种不同的方式实现)答:(1)slicelet arr = [2,4,434,43]let arr1= arr.slice()(2)遍历Array.prototype.clone = function(){ let a=[]; for(let i=0,l=this.length;i<l;i++) {...原创 2019-03-28 17:32:11 · 162 阅读 · 0 评论 -
ES6 新增运算符
一、函数绑定”运算符(::)“函数绑定”(function bind)运算符,用来取代call、apply、bind调用函数绑定运算符是并排的两个冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。如果双冒号左边为空,右边是一个对象的方法,则等于将该方法绑定在该对象上面。二、数组扩展运...原创 2019-03-28 17:07:13 · 4135 阅读 · 1 评论 -
JavaScript运行环境、运行机制与运行过程
一、运行环境JavaScript是伴随着浏览器的诞生而诞生,所以JavaScript的执行最多还是在浏览器环境之内。但是JavaScript作为服务端脚本的概念在诞生之初就有,1995年网景公司就提出了服务端JavaScript的概念,并研发了 Netscape Enterprise Server;1996年微软发布的JScript也可以运行在服务端。随着技术的发展各种JavaScript引擎...转载 2018-11-05 12:43:24 · 583 阅读 · 0 评论 -
JavaScript运行机制
一、单线程JS是单线程,为了不阻塞线程,JS通过事件循环的方案解决耗时任务。二、任务队列(同步/异步)1.任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queu...转载 2018-11-05 11:23:06 · 166 阅读 · 0 评论 -
JavaScript的执行环境
一、执行环境(Execution Context)JS代码可以归为下面三种情况之一:全局代码:首先执行这里的代码 函数代码 Eval代码:eval()函数中的文本二、执行环境栈(Execution Context Stack)JS引擎默认进入全局执行环境执行全局代码,如果在全局代码中调用了一个函数,就会创建一个新的执行环境,并添加到栈的顶部,JS引擎始终执行栈顶部的执行环...转载 2018-11-05 10:32:17 · 248 阅读 · 0 评论 -
forEach()和map()的区别
一、相同点:都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组) 匿名函数中的this都是指向window 只能遍历数组array.map(function(item,index,arr){},this)Array.forEach(function(item,index...原创 2018-11-09 09:55:03 · 29302 阅读 · 0 评论 -
JavaScript预编译
一、JavaScript运行三部曲1,:语法分析2:预编译3:解释执行语法分析,就是引擎检查你的代码有没有什么低级的语法错误 ;解释执行便是执行代码了;预编译简单理解就是在内存中开辟一些空间,存放一些变量与函数 二、JavaScript引擎运行过程在浏览器环境中,JavaScript引擎按<script>标签代码块从上到下的顺序加载并立即解释执行1....原创 2018-11-06 10:42:24 · 218 阅读 · 0 评论