js学习
Add_a_cat
这个作者很懒,什么都没留下…
展开
-
JS深度克隆
JS中,数据类型分为基础数据类型与引用数据类型,基础数据类型和函数可以直接用赋值符号进行克隆,其他的都需要用深度克隆。深度克隆:function deepClone(obj){ var result; var oClass=isClass(obj); if(oClass==="Object"){ result={}; }else if(oC...原创 2019-04-10 15:45:33 · 246 阅读 · 0 评论 -
浏览器
原创 2019-05-15 21:43:32 · 171 阅读 · 0 评论 -
如何安装和使用代码压缩
在生产环境中,建议压缩应用程序中包含的任何javascript代码。代码压缩可以帮助您的网站加载速度快几倍,特别是随着您的javascript源代码的大小增长。以下是一种设置方法:安装node.js 在项目文件夹中运行npm init-y(不要跳过此步骤!) 运行npm安装Terser现在,要压缩名为like_button.js 的文件,请在终端中运行:npx ters...翻译 2019-06-06 10:13:29 · 622 阅读 · 0 评论 -
ES6的模块一些要点
注:模块是自动运行在严格模式下并且没有办法退出运行的JavaScript代码。模块中的变量,函数或类声明尽在模块的顶级作用于中存在,必须导出才能使用。在模块的顶部,this的值是undefined;导出语法//导出数据export var a=1;export let b="2";export const c=3;//导出函数export functi...原创 2019-06-01 16:02:59 · 248 阅读 · 0 评论 -
DOM
转载 2019-06-07 14:11:43 · 212 阅读 · 0 评论 -
类选择器获取动态加载的元素的方法
在document 加载完成后才进行的渲染,如果不确定可以尝试查看源代码能否找到对应元素,解决办法可以通过 setTimeout 来延迟获取,或者 setInterval 抓取在油猴上尝试了很多方法包括:// @run-at document-enddocument.onload= function() {}$(document).ready(func...原创 2019-06-07 23:06:51 · 1244 阅读 · 0 评论 -
npx 使用教程
作者:阮一峰日期:2019年2月 9日npm 从5.2版开始,增加了npx命令。它有很多用处,本文介绍该命令的主要使用场景。Node 自带 npm 模块,所以可以直接使用npx命令。万一不能用,就要手动安装一下。$ npm install -g npx调用项目安装的模块npx想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了...转载 2019-06-14 12:51:45 · 934 阅读 · 0 评论 -
React中key的作用
https://react.docschina.org/docs/reconciliation.html#recursing-on-children转载到csdn以方便查阅比对同类型的组件元素当一个组件更新时,组件实例保持不变,这样 state 在跨越不同的渲染时保持一致。React 将更新该组件实例的 props 以跟最新的元素保持一致,并且调用该实例的componentW...转载 2019-06-14 15:49:26 · 349 阅读 · 0 评论 -
事件传播
此示例演示了如何以非常简单的方式触发和处理DOM中的事件。加载此HTML文档的BODY时,会在TABLE的顶行注册事件侦听器。事件侦听器通过执行函数stopEvent来处理事件,该函数更改表的底部单元格中的值。但是,stopEvent还会调用事件对象方法event.stopPropagation,该方法可以防止事件进一步冒泡到DOM中。请注意,表本身有一个onclick事件处理程序,在单击表时...翻译 2019-06-15 11:18:29 · 321 阅读 · 0 评论 -
原型链
转载 2019-06-25 13:48:12 · 144 阅读 · 0 评论 -
React生命周期
转载 2019-07-01 18:57:19 · 166 阅读 · 0 评论 -
js 中 functionname= () => { }
(a, b) => { console.log(a); } 相当于function(a, b){console.log(a);}表示一个匿名的函数原创 2019-05-15 14:52:12 · 537 阅读 · 0 评论 -
异步加载JS
出处:https://www.cnblogs.com/huangcong/p/3747038.html方案1:$(document).ready<!DOCTYPE html><html> <head> <script src="http://common.cnblogs.com/script/...转载 2019-04-10 15:49:11 · 135 阅读 · 0 评论 -
如何添加HTML元素的事件处理,有几种方法
添加html元素的事件有三种方法。1.通过HTML元素属性。简单说来就是在html结构中,给你要添加事件的元素添加一个属性。属性名为 ‘on’ + 事件名。如:你要给a元素绑定一个click事件,你就该这么写:name2.通过对象属性。对象指的是jDOM树里的对象,我们都知道,所有的html元素在DOM(文档对象类型)里都存在一个相应的DOM元素。给这个DOM元素添加事件...转载 2019-04-10 16:08:51 · 815 阅读 · 0 评论 -
JS常考:String对象
String 对象用于处理文本(字符串)。创建 String 对象的语法:new String(s);String(s);参数参数s是要存储在 String 对象中或转换成原始字符串的值。返回值当 String() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串s或s的字符串表示。当不用 new 运算符...转载 2019-04-10 17:03:35 · 355 阅读 · 0 评论 -
JS常考:Array 对象
Array 对象用于在单个的变量中存储多个值。创建 Array 对象的语法:new Array();new Array(size);new Array(element0, element1, ..., elementn);参数参数size是期望的数组元素个数。返回的数组,length 字段将被设为size的值。参数element...,elementn是...转载 2019-04-10 17:04:12 · 564 阅读 · 0 评论 -
阻止冒泡
inDiv.addEventListener('click',function(e){ alert('in'); e.stopPropagation();//终止事件冒泡 },false); outDiv.addEventListener('click',fun...原创 2019-04-11 09:58:23 · 135 阅读 · 0 评论 -
JavaScript 中 var 和 let 和 const 关键字的区别
我们都知道在最新的 ES6 中,新添加了两个用于变量声明的关键字 let 和 const,那么这两个和我们以前经常使用的 var 有什么区别呢?今天我们就来看一下吧。变量声明和初始化在比较它们的区别之前,我们先来看一下变量声明和初始化。变量声明:var declaration变量声明会引入了一个新的标识符 declaration,在 JavaScript 中,新创建的变量的默认...原创 2019-04-11 12:02:46 · 196 阅读 · 0 评论 -
CSS 选择器
CSS3 选择器在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。"CSS" 列指示该属性是在哪个 CSS 版本中定义的。(CSS1、CSS2 还是 CSS3。)选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素。 1 #id #firstname 选择 id="f...转载 2019-04-11 13:05:21 · 359 阅读 · 0 评论 -
JavaScript中Element与Node的区别,children与childNodes的区别
关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别。Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有:节点类型 NodeType 元素element 1 属性attr ...转载 2019-04-11 13:14:35 · 347 阅读 · 0 评论 -
js递归获取html页面所有标签
js原生递归获取,直接源码: const child = document.children;//body就用document.body.children var arr = [];//用来存放获取到的所有的标签 function fn(obj){ for(let i=0;i<obj.length;i++){ if(obj[i].childre...原创 2019-04-11 13:33:24 · 2430 阅读 · 0 评论 -
const声明对引用对象的保护并不安全
代码:const a={4:5,2:3};console.log(typeof(a));var b=a;b['9']=10;console.log(a);console.log(b);运行结果:原创 2019-04-11 13:55:44 · 186 阅读 · 0 评论 -
javascript 六种数据类型
js的数据类型和常见隐式转化逻辑。一、六种数据类型原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。引用类型:引用类型的值是保存在内存中的对象。* 与其他语言不同的是,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。所以引用...转载 2019-04-11 14:32:04 · 285 阅读 · 0 评论 -
arguments
JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array:function foo(x) { console.log('x = ' + x); // 10 for (var i=0; i<arguments.length; i++) { ...转载 2019-04-11 14:44:11 · 195 阅读 · 0 评论 -
WebSocket协议简介
WebSocket使用浏览器进行全双工通信WebSocket主要是为了解决Ajax和Comet里XMLHttlRequest附带的缺陷所引起的问题。主要特点:推送功能支持由服务器向客户端推送数据的推送功能。减少通信量只要建立起WebSocket连接,就可以一直保持连接状态。减少连接开销,且部首信息很小。握手-请求握手-响应WebSocket API以下...原创 2019-09-20 11:19:41 · 256 阅读 · 0 评论