
JavaScript
文章平均质量分 58
银辟法斯特
成长中的前端菜鸟一只
展开
-
JavaScript之闭包
什么是闭包?作用域链中的函数对象相互关联,同时函数内部的变量在作用域内保存起来,这种特性叫做闭包。从技术的角度讲,JavaScript中的函数都是闭包。闭包的实现涉及到JavaScript中的垃圾回收机制。当调用JavaScript函数的时候,建立了一个新的对象来保存局部变量,把这个对象添加到作用域链中。函数返回的时候,就将这个绑定变量的对象删除,以节省内存空间。但是,当定义了嵌套函数,并作为返回...原创 2018-07-10 12:56:50 · 202 阅读 · 0 评论 -
ES6之let和const
letlet的用法类似于var,但是let所声明的变量只在它所在的代码块有效。与var进行比较:{ var a=100 let b=200}console.log(a) //100console.log(b) //ReferenceError: b is not defined我们可以看到,在块内声明的b在块作用域外不能被访问。这一特性经常被...原创 2018-10-03 21:23:30 · 227 阅读 · 0 评论 -
2018京东在线笔试第一道编程题javascript解法
第一次参加在线笔试,因为没有经验,以为选择题也能用本地编辑器.结果悲剧地被记录一次切换窗口编程题一共两道.第二道题我对题目理解困难.只做了第一道题;题目:给出一个数组,输出一个数,这个数插入数组后这个数组的中位数不变;有小数保留一位事例:输入: 5(范围1~100) 1 2 3 4 5(个数1~100)输出: 3解释:...原创 2018-09-09 21:32:56 · 446 阅读 · 0 评论 -
JS代码实现new,bind,call和apply
new分析:通过new方法生成实例的原理:1、产生了一个新的实例对象。2、通过改变this的指向继承构造函数的属性和方法。3、继承了原型链上的属性和方法。新对象的__proto__指向构造函数的prototype。用代码来实现:function myNew(fun) { return function() { let ob...原创 2018-09-06 13:37:51 · 389 阅读 · 0 评论 -
JavaScript之订阅-发布模式
它主要包含了两类对象:发布者:一个或多个,每当有重要事情发生后,会通知订阅者; 订阅者,追随一个或多个发布者,监听它们的通知,并作出相应的反应;DOM中的时间绑定是经典的订阅-发布模式的应用订阅-发布模式的主要组成:由回调函数构成的订阅者数组; 用于添加和删除订阅者的addSubscriber()和removeSubscriber()方法; publish()方法,授受并传递数...原创 2018-09-06 13:32:38 · 310 阅读 · 0 评论 -
JavaScript之类型检测
1、typeoftypeof undefined; //undefinedtypeof true; //booleantypeof 1; //numbertypeof NaN; //numbertypeof function(){}; //functiontypeof new Object(); //objecttyp...原创 2018-08-30 14:45:45 · 191 阅读 · 0 评论 -
浏览器同源策略和跨域
同源策略同源策略是对JavaScript代码对Web内容的操作权限的一个安全限制。它规定了一段JavaScript代码只能对来自相同网络协议,相同域名,相同端口的Web内容进行操作。举个例子: http://www.example.com https://www.example.com 不同源!网络协议不同 http://www.example.com:...原创 2018-08-24 16:17:17 · 395 阅读 · 0 评论 -
JavaScript之六大基本数据类型回顾
在编程语言中,能够表示并能操作的值称作数据类型,今天我就对javascr中的基本数据类型做一个回顾.六大基本数据类型Javascript中有六大基本数据类型,分别是String,Number,Boolean,Null,Undefined,Symbol(ES6新增);1.String字符串是由一组十六位值组成的不可变有序序列.字符串拆分:用反斜线'\'可以另起一行常用字符...原创 2018-08-19 15:28:55 · 535 阅读 · 1 评论 -
JavaScript之原型
原型 指由同一个构造函数实例化的对象的一个公共的祖先,叫做原型。所有实例化的对象继承同一个原型的属性和方法。 通过prototype构造原型: function Person(name,age){ this.name=name; this.age=age; Person.prototype.weight="20kg"...原创 2018-07-15 11:30:32 · 278 阅读 · 0 评论 -
jquery无缝轮播图
html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>轮播图</title> <script src="jquery-3.3.1.js"&a原创 2018-07-25 23:11:17 · 256 阅读 · 0 评论 -
JavaScript之声明提前
什么叫声明提前在JavaScript中,函数所声明的变量在整个函数体都是有定义的;(包括函数体内嵌套的函数体)这一特性可以形象地理解为声明的变量被提前到函数体顶部,被称作声明提前;需要注意的是,变量的定义并没有被提前,而是留在原位置;例如: console.log(scope); //输出为undefined; 变量的定义没有被预解析 ...原创 2018-07-06 13:18:12 · 343 阅读 · 0 评论 -
JavaScript之DOM操作总结
选取文档元素通过ID选取元素document.genElementById("id")通过名字选取元素document.getElementByName("name")通过标签名选取元素document.getElementByTagName("tagname")通过CSS选择器获取元素document.querySelector(选择器)doc...原创 2018-07-11 22:19:12 · 404 阅读 · 0 评论 -
ES6之Set和Map数据结构
SetSet类似于数组,但是和数组有着显著的区别:每个值唯一为了确保Set中的值的唯一性,需要判断Set中的值是否相等,判断机制不同于‘===’,不同点在于Set中的NAN被视为相同的值。*早期草案中‘-0’和‘+0’为两个不同的值,现已被修正不会发生类型转换·向Set中添加值得时候不会发生类型转换,采取上文相等的判断机制,需要注意的是两个对象总是不相等的。set可接受一个可遍...原创 2018-10-16 11:39:28 · 315 阅读 · 0 评论