JavaScript
One-Direction
这个作者很懒,什么都没留下…
展开
-
EventLoop
毋庸置疑,大家都很了解js是一门单线程语言,这也就说明JS无法进行多线程,但是JS中异步的功能完全可以模拟多线程,而且效果还杠杠滴。当然,如果想完全理解异步,首先要了解JS的运行核心——事件环(Event Loop),下面分两部分理解事件环:浏览器中的事件环(Event Loop)为了能更好的理解JS在浏览器中的任务队列和事件循环,请看下图:eventLoop 是由JS的宿主环境(...转载 2019-08-08 15:06:58 · 188 阅读 · 0 评论 -
setTimeout
语法setTimeout(code, milliseconds, param1, param2, ...)setTimeout(function, milliseconds, param1, param2, ...)参数传参实例传递参数给 alertFunc 函数 ( IE9 及其更早版本不支持):<!DOCTYPE html><html> <h...转载 2019-08-07 13:49:01 · 131 阅读 · 0 评论 -
Promise
统一执行函数逻辑,不关心如何处理结果,然后,根据结果是成功还是失败,在将来的某个时候调用success函数或fail函数。异步执行'use strict'; // 清除log:var logging = document.getElementById('test-promise-log');while (logging.children.length > 1) { l...原创 2019-08-07 13:38:05 · 148 阅读 · 0 评论 -
JS异步加载的方式
1. 同步加载我们平常写JS的时候都是用的阻塞模式如<script type="text/javascript" src="../../libs/crypto/abc.js" ></script><script type="text/javascript" src="../../libs/crypto/abcd.js" ></script>...转载 2019-08-18 17:33:16 · 178 阅读 · 0 评论 -
Object.prototype.toString.call(obj)
这是一个十分常见的问题,用typeof是否能准确判断一个对象变量,答案是否定的,null 的结果也是 object,Array的结果也是 object,有时候我们需要的是 “纯粹” 的object 对象。如何避免呢?比较好的方式是:console.log(Object.prototype.toString.call(obj) === "[object Object]");使用以上方式可以很好的...转载 2019-07-31 08:55:59 · 147 阅读 · 0 评论 -
JS比较两个对象是否相等
虽然标题写的是如何判断两个对象相等,但本篇我们不仅仅判断两个对象相等,实际上,我们要做到的是如何判断两个参数相等,而这必然会涉及到多种类型的判断。相等什么是相等?在《JavaScript专题之去重》中,我们认为只要 === 的结果为 true,两者就相等,然而今天我们重新定义相等:我们认为:NaN 和 NaN 是相等[1] 和 [1] 是相等{value: 1} 和 {value: ...转载 2019-07-31 17:23:35 · 1694 阅读 · 0 评论 -
JS的数组基本操作
一、push()方法向数组的后面添加元素返回值为当前操作的数组的操作以后的长度二、unshift()方法向数组的前面添加元素返回值为当前操作的数组的操作以后的长度三、pop()方法删除最后一项,并返回删除元素的值;如果数组为空则返回undefine四、shitf()方法删除第一项,并返回删除元素的值;如果数组为空则返回undefine五、join() 方法分割数组,(把...转载 2019-08-01 00:26:29 · 207 阅读 · 0 评论 -
JS的深浅拷贝
数组的浅拷贝如果是数组,我们可以利用数组的一些方法比如:slice、concat返回一个新数组的特性来实现拷贝。比如:var arr = ['old', 1, true, null, undefined];var new_arr = arr.concat();new_arr[0] = 'new';console.log(arr) // ["old", 1, true, null,...转载 2019-07-31 23:04:31 · 84 阅读 · 0 评论 -
JavaScript常用函数API
Object.keystypeofhasOwnProperty原创 2019-07-31 23:50:23 · 256 阅读 · 0 评论 -
Javascript基础
Javascript可用于HTML和WEB,更可广泛用于服务器,PC,笔记本电脑,平板电脑和智能手机等设备,是脚本语言,是一种轻量级的编程语言。是可插入HTML页面的编程代码,插入HTML页面后,可由所有的现代浏览器执行。输出:弹出警告框: window.alert()操作HTML元素:document.getElementById(id)访问某个HTML元素,innerHTML获取或...原创 2019-07-29 23:58:16 · 175 阅读 · 0 评论 -
JavaScript高级
__proto__、prototype和constructor__proto__和constructor属性是对象所独有的;prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。__proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的__proto__属性所指向的那个对象(父...原创 2019-07-30 12:19:44 · 126 阅读 · 0 评论 -
JavaScript进阶
正则表达式语法/正则表达式/修饰符(可选)使用字符串方法search() 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。修饰符i:执行对大小写不敏感的匹配g:执行全局匹配m:多行匹配正则表达式模式方括号用于查找某个范围...原创 2019-07-31 17:00:33 · 148 阅读 · 0 评论 -
attachEvent和addEventListener
一般我们在JS中添加事件,是这样子的obj.onclick=method这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢?obj.onclick=method1obj.onclick=method2obj.onclick=method3如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了...转载 2019-08-16 17:35:48 · 278 阅读 · 0 评论