JavaScript
文章平均质量分 71
明致成
人生海海,山山而川,不过尔尔!
展开
-
web前端常用工具类库
给大家分享一个工具类库:JavaScript专用https://github.com/Ruthevil/frontend-utils原创 2020-07-11 19:13:32 · 446 阅读 · 0 评论 -
附录B、了解ECMAScript 2016
1、指数运算符 Math.pow()方法可以执行求幂运算。 a ** b也可以求幂运算。let result = 5 ** 2;console.log(result); // 25console.log(result === Math.pow(5,2)); // true ①、运算顺序 求幂运算符在js所有二进制运算符中具有最高的优先级(一元运...原创 2019-12-22 21:26:16 · 138 阅读 · 0 评论 -
附录A、ECMAScript 6中较小的改动
1、使用整数 JavaScript使用IEEE 754编码系统来表示整数和浮点数。 ①、识别整数 Number.isInteger():确定一个值是否为JavaScript整数类型。 有些数字看起来像浮点数,却存储为整数。console.log(Number.isInteger(25)); // trueconsole.log(Numbe...原创 2019-12-22 21:23:39 · 111 阅读 · 0 评论 -
13、用模块封装代码
1、什么是模块 模块试运行在严格模式下并且没有办法退出运行的JavaScript代码。 ①、在模块顶部创建的变量不会自动被添加到全局共享作用域,模块必须导出一些外部代码可以访问的元素。模块也可以从其他模块导入绑定。 ②、在模块的顶部,this的值是undefined ③、模块不支持HTML风格的代码注释2、导出的基本语法// 导出数据export var...原创 2019-12-22 21:20:57 · 259 阅读 · 0 评论 -
12、代理(Proxy)和反射(Reflection)API
第十二章、代理(Proxy)和反射(Reflection)API 代理Proxy是一种可以拦截并改变底层JavaScript引擎的包装器,在新语言中通过它暴露内部运作的对象。1、数组问题 ES6出现以前,开发者不能通过自己定义的对象模仿JavaScript数组对象的行为方式。 当给数组的特定元素赋值时,影响到数组的length属性;也可以通过length属性修改数组元素...原创 2019-12-01 20:19:55 · 227 阅读 · 0 评论 -
11、Promise与异步编程
第十一章、Promise与异步编程1、异步编程的背景知识 JavaScript引擎是基于单线程事件循环的概念构建的,同一时刻只允许一个代码块执行。 即将运行的代码块都是被放在任务队列(job queue)中,当JavaScript引擎一段代码执行结束时,事件循环(event loop)会将任务队列的第一个代码块交给JavaScript引擎进行执行,知道任务队列中的任务执行完毕。...原创 2019-12-01 15:43:11 · 127 阅读 · 0 评论 -
10、改进的数组功能
第十章、改进的数组功能1、创建数组 传统的创建数组的方法:调用Array构造函数和数组字面量语法。 将一个类数组(具有数值型索引和length属性的对象)转换为数组的方法:Array.of()和Array.from() 1、Array.of()方法 因为通过Array构造函数创建数组的时候,传参的类型与数量会影响数组的length: ...原创 2019-11-24 19:05:40 · 149 阅读 · 0 评论 -
9、JavaScript中的类
第九章、JavaScript中的类1、类的声明 1、基本的类声明语法 不需要在类的个元素之间使用逗号隔开。类除了constructor外没有其他保留的方法名。class PersonClass { constructor(name){ this.name = name; } sayName(){ console.log(this.name); }...原创 2019-11-24 13:25:38 · 95 阅读 · 0 评论 -
8、迭代器和生成器
第八章、迭代器和生成器1、什么是迭代器 迭代器是一种特殊对象,所有的迭代器对象都有一个next()方法,每次调用都返回一个结果对象; 结果对象有两个属性:value表示下一个将要返回的值/undefined,done一个布尔类型的值,表示没有可返回数据时返回true; 迭代器还会保存一个内部指针,用来指向当前集合中值得位置。 ...原创 2019-11-17 12:10:03 · 145 阅读 · 0 评论 -
7、Set集合与Map集合
第七章、Set集合与Map集合1、检查对象的属性是否存在: in操作符:不需要读取对象的值就可以判断属性是否存在对象中,存在返回true,否在返回false。 备注:in操作符会检索对象的原型,只能在对象原型为null时使用。 2、Set集合:有序唯一 1、创建Set集合并添加元素let set = new Set();...原创 2019-11-16 16:03:51 · 161 阅读 · 0 评论 -
6、Symbol和Symbol属性
第六章、Symbol和Symbol属性1、创建Symbol let firstName = Symbol(); Symbol是原始值,不可以使用new Symbol()创建 Symbol接受一个可选参数,为Symbol添加文本描述,描述被存储在[[Description]]属性,该属性不可直接在代码中访问,只...原创 2019-11-15 14:50:39 · 639 阅读 · 0 评论 -
5、解构:使数据访问更便捷
第五章、解构:使数据访问更便捷1、对象解构赋值 1、默认值 let node = { type : "js", name: "lisi" }; let { type, name, value = tr...原创 2019-11-15 14:49:25 · 141 阅读 · 0 评论 -
4、扩展对象的功能性
第四章、扩展对象的功能性1、对象字面量语法扩展 当一个对象的属性与本地变量同名时,不必再写冒号和值,简单的只写属性名即可。 2、可计算属性名 任何可用于对象实例括号记法[]的属性名,也可以作为字面量中的计算属性名。 3、新增方法 1、Object.is():比较两个值是否相等,它是弥补===的不准确运算。...原创 2019-11-08 15:38:27 · 222 阅读 · 0 评论 -
3、函数
第三章、函数1、函数形参可以指定默认值,并且默认值所在的形参不会自动添加到arguments对象中。2、函数形参可以用表达式作为默认值,也可以用先定义的形参作为后定义的形参的默认值, 但不能用后定义的形参作为先定义的形参的默认值,否则会进入函数默认参数的临时死区。 3、函数参数有自己的作用域和临时死区,其与函数体的作用域是各自独立的,即参数的默认值不可访问函数体内声明的...原创 2019-11-08 15:37:29 · 117 阅读 · 0 评论 -
2、字符串和正则表达式
第二章、字符串和正则表达式1、在ES6出现前后的编码差异:16位的编码单元和32位的编码单元 使用codePointAt()检测字符占用的编码单元数量,原理是16位的编码单元字符上限是0xFFFF function is32Bit(c){ return c.codePointAt(0) > 0xFFFF; } 根据...原创 2019-11-08 15:36:52 · 166 阅读 · 0 评论 -
1、块级作用域绑定
第一章、块级作用域绑定1、const声明不允许修改绑定,但允许修改绑定的值。即用const声明对象后,可以修改该对象的属性值,但不能重新给该变量赋值。2、块级作用域的特色:TDZ(临时死区)3、用let和const定义的变量不会覆盖全局变量,即不会将定义的属性添加到window对象上。开发原则:默认使用const,当确定某些变量要改变时,再使用let。...原创 2019-11-08 15:36:15 · 154 阅读 · 0 评论 -
原生js字符串true/false与布尔true/false的转换
方法一:JSON.parese()JSON.parse('true') //trueJSON.parse('false') //false方法二:prototype添加自定义方法String.prototype.toBool = function(){ return (/^true$/i).test(this);}console.log(...原创 2019-09-22 16:10:16 · 6789 阅读 · 0 评论 -
正则表达式【2】
JavaScript正则表达式创建一个正则表达式第一种方法:var reg = /pattern/;第二种方法:var reg = new RegExp('pattern');正则表达式的exec方法简介语法:reg.exec(str);其中str为要执行正则表达式的目标字符串。例如:<script type="text/javascript">var reg ...原创 2019-01-27 22:52:05 · 346 阅读 · 0 评论 -
JS正则表达式【1】
经典JavaScript正则表达式实战1、匹配结尾的数字来源:如何用 JAVASCRIPT 正则表达式 取出字符串最后一组数字,谢谢如30CAC0040 取出403SFASDF92 取出92正则如下:/\d+$/g2、统一空格个数来源:正则匹配空格的问题字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个。例如:蓝 色 理 想变成:蓝 色 理 ...原创 2019-01-27 22:50:13 · 1218 阅读 · 0 评论 -
Promise对象的简单应用
一、加载图片const preloadImage=function(path){ return new Promise(function(resolve,reject){ var img=new Image(); img.onload=resolve; img.onerror=reject; img.src=path; });};二、实现AJAX操作...原创 2017-08-30 21:10:36 · 324 阅读 · 0 评论 -
读JS之感悟(1)
类:构造方法#在构造方法中可以使用 super 关键字来调用父类的构造方法。#子类必须在constructor方法中调用super方法,否则新建实例时会报错。继承extends#可以继承自定义的类或内置的对象static定义静态方法#类的静态方法直接在类...原创 2017-08-30 19:59:07 · 348 阅读 · 0 评论 -
JS闭包总结
注:此文总结摘自阮一峰老师http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html一、首先了解变量的作用域有两种:局部变量和全局变量。内部函数可以访问外部变量,但函数外部不可以访问内部变量。怎么才能够在函数外部访问局部变量呢?当然闭包是可以做到的。二、闭包:能够读取其他函数内部变量的函数。如:f...原创 2017-08-26 20:27:48 · 350 阅读 · 1 评论 -
JS高级程序设计经典代码与问题
一、事件的绑定与移除var EventUtil={ addHandler(element,type,handler){ if (element.addEventListener) { element.addEventListener(type,handler,false); }else if (element.attachEvent) { element.a...原创 2017-08-22 20:09:11 · 409 阅读 · 0 评论 -
JSON总结
JSON是js的一个子集,是一种数据格式。一、语法:简单值:字符串、数值、布尔值、null对象:键值对数组:JSON不支持变量、函数、对象实例。1、简单值:JSON字符串必须使用双引号2、对象:没有声明变量、没有末尾的分号同一对象中绝对不能出现两个同名属性JSON对象的属性名任何时候都要加双引号3、JSON数组:JSON数组也没有变量和分号二、解析与序列化 J...原创 2017-08-21 10:47:04 · 278 阅读 · 0 评论 -
JS之prototype与__proto__总结
对象:函数对象和普通对象#Function、Object都是通过new Function()创建的。#实例的构造函数属性(constructor)指向构造函数。#每个函数对象都有一个prototype 属性,这个属性指向函数的原型对象#每个对象都有 __proto__ 属性,但只有函数对象才有 prototype 属性#在默认情况下,所有的原型对象都会自动获得一个construc...原创 2017-08-17 11:06:13 · 308 阅读 · 0 评论 -
JS在线编程
1、[编程题] 优雅的点小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。输入描述:输入为一个整数,即为圆半径的平方,...原创 2017-08-13 10:13:46 · 2210 阅读 · 0 评论 -
JS测验
1.我们可以在下列哪个 HTML 元素中放置 Javascript 代码?您的回答:<script>2.写 "Hello World" 的正确 Javascript 语法是?您的回答:document.write("Hello World")3.插入 Javacript 的正确位置是?正确答案:<body> 部分和 <head> 部分均可4.引用名为...原创 2017-08-09 15:35:55 · 939 阅读 · 0 评论 -
JSON:JS对象表示法
1、JSON是存储和交换文本信息的语法,类似XMLJSON比XML更小,更快,更易解析,尤其对于ajax而言JSON是轻量级的文本交换格式JSON独立于语言JSON具有自我描述性,更易理解2、JSON语法:数据在键值对中:键和值都用双引号数据由逗号分隔花括号保存对象方括号保存数组3、JSON值:数字(整数/浮点数)、字符串(双引号中)、...原创 2017-08-06 16:55:04 · 503 阅读 · 0 评论 -
AJAX实现过程
AJAX:异步JS和XML1.创建XMLHttpRequest对象:XMLHttpRequest对象是AJAX的基础,用于在后台与服务器交换数据语法:var xhr=new XMLHttpRequest()兼容性:if(!window.XMLHttpRequest){xhr=new ActiveObject('Microsoft.XMlHTTP');}else{xhr=n...原创 2017-08-06 16:44:16 · 540 阅读 · 0 评论 -
JS练习题(2)
1、给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 falsefunction containsRepeatingLetter(str) {var re=/([a-zA-Z])\1+/...原创 2017-07-14 08:43:36 · 1060 阅读 · 0 评论 -
JS练习题(1)
1、找出对象obj不在原型链上的属性 1、返回数组格式为key: value,冒号后有个空格 2、结果数组不要求排序答案:function iterate(obj) { var arr=[]; for (var attr in obj) { if (obj.hasOwnProperty(attr)) { arr.push(a...原创 2017-07-13 22:24:55 · 702 阅读 · 0 评论 -
JS数组去重方法
①思想:用hash表存储数组元素,并将其存储为对象属性,并判断优点:用时短缺点:内存消耗极大Array.prototype.unique=function(){ var hash={}; var result=[]; for(var i=0;i<this.length;i++){ if (!hash[this[i]]...原创 2017-07-13 09:32:03 · 365 阅读 · 1 评论 -
JS数组常用方法
1、将给定字符串转换成二进制字符串,如果字符串长度不足8位,则在前面补零到8位。function test(num){ var str=num.toString(2); if (str.length<8) { var arr=str.split(""); var len=8-str.length; for (var i = 0; i < len; i+...原创 2017-07-12 09:39:00 · 769 阅读 · 0 评论 -
JS实现鼠标可拖拽窗口
HTML结构:<div class="modal-content" id="imgModalId"> <div class="modal-header" data-ng-mousedown="selectTarget($event)"> <button type="button" class="close"原创 2019-01-02 22:22:57 · 685 阅读 · 0 评论 -
文字跑马灯插件liMarquee.js
HTML中引入jQuery.liMarquee.js和liMarquee.css<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-原创 2019-01-16 22:38:49 · 3775 阅读 · 0 评论 -
js运动框架函数
第一种:只支持属性值为px的属性移动的框架/** * [运动框架函数,支持容器的各种属性变化] * @description [该运动框架只支持属性值为px的属性] * @param {[obj]} obj [容器div对象] * @param {[string]} attr [要移动的容器属性] * @param {[number]} iTarget [属...原创 2018-12-22 09:30:16 · 345 阅读 · 0 评论