JavaScript
白色薄荷糖
这个作者很懒,什么都没留下…
展开
-
js阻止事件冒泡
js阻止事件冒泡<body> <form id="form1" runat="server"> <div id="divOne" onclick="alert('我是最外层');"> <div id="divTwo" onclick="alert('我是中间层!')"> <a id="hr_three"...原创 2019-12-05 21:24:40 · 247 阅读 · 0 评论 -
Js如何删除数组中某一个元素?
获得一串数组,如下:var data = [{"id":"1","name":"小刘","age":"25"},{"id":"2","name":"小华","age":"24"},{"id":"3","name":"小佳","age":"27"},{"id":"4","name":"小王","age":"24"},{"id":"5","name":"小何","age":"22"},]...原创 2019-11-29 15:41:14 · 1544 阅读 · 0 评论 -
JavaScript 私有成员分析
JavaScript操作都是关于对象的。数组(Array)是对象,函数(Function)是对象。Object(类型)是对象。那么什么是对象呢?对象就是“名称-值”对(name-value)。名称是字符串,值可以是字符串、数值、布尔值或对象(包括数组和函数)。对象经常用哈希表实现,所以取值速度很快。如果对象的一个值是函数(function),我们可以认为它是成员函数,当成员函数被调用时,this...原创 2019-11-28 17:39:43 · 76 阅读 · 0 评论 -
闭包的作用
闭包的概念「官方」的解释「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。但不要咬文嚼字,我们简单的可以理解为闭包是个函数,而它「记住了周围发生了什么」。表现为由「一个函数」体中定义了「另个函数」function outer () {…function inner () {…} }闭包的作用setTimeou...原创 2019-11-28 17:38:39 · 77 阅读 · 0 评论 -
【11】熟练掌握闭包
// 1.闭包允许你引用在当前函数以外定义的变量function makeSanwich() { const magicIngredient = 'peanut butter'; function make(filling) { return magicIngredient + ' and ' + filling; } return mak...原创 2019-11-28 16:54:28 · 105 阅读 · 0 评论 -
-js判断字符串中出现次数最多的字符及统计次数
两种做法,一种把相同字符放在json对象数组里//把相同字符放在json对象里function test(str){ var obj = {}; var num = 0; var value = ''; for (var i = 0; i < str.length; i++){ if (!obj[str[i]]) obj[str[i]] = [];...原创 2019-11-25 12:37:15 · 315 阅读 · 0 评论 -
JS判断一个字符串中出现次数最多的字符,并统计次数
let str = 'asfjasiofoivnoi'; function count(str){ let obj={}, arr = str.split(''); //遍历数组 arr.forEach(function(val,in...原创 2019-11-25 12:35:56 · 533 阅读 · 0 评论 -
console执行顺序
console.log(‘1’);setTimeout(() => {console.log(‘2’);}, 100);setTimeout(() => {}, 0);new Promise((resolve,reject) => {console.log(‘3’);resolve();console.log(‘4’);}).then(() => {co...原创 2019-11-25 12:32:45 · 833 阅读 · 0 评论 -
计算给定数组 arr 中所有元素的总和
function sum(arr) { var suma = 0; for(var i = 0; i < arr.length; i++){ suma += arr[i]; } return suma;}//递归实现function sum(arr) { var len = arr.length; if(len == 0)...原创 2019-11-25 12:22:21 · 1971 阅读 · 0 评论 -
Promise
setTimeout(() => console.log('a'), 0);var p = new Promise((resolve) => { console.log('b'); resolve();});p.then(() => console.log('c'));p.then(() => console.log('d'));console.l...原创 2019-11-25 12:19:41 · 84 阅读 · 0 评论 -
原型链的理解
function Person() { this.name = 1;}var p1 = new Person();Person.prototype.name = 2;// Person { name: 2 }console.log(Person.prototype);// [Function]console.log(Person.__proto__);// undef...原创 2019-11-25 12:11:26 · 79 阅读 · 0 评论 -
封装个函数,输入任何数字,进行千分位格式化。
封装个函数,输入任何数字,进行千分位格式化。如1233456=》1,233,456所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,我起初写了这样一个函数:复制代码 代码如下:// 方法一function toThousands(num) { var result = [ ], counter = 0; num = (num...原创 2019-11-25 11:50:20 · 666 阅读 · 1 评论 -
getElementById和querySelector方法的区别
1.getXXXByXXX 获取的是动态集合,querySelector获取的是静态集合。 1 <ul> 2 <li>aaa</li> 3 <li>ddd</li> 4 <li>ccc</li> 5 </ul> 6 7 //demo1 8 var ul...原创 2019-11-18 19:07:27 · 135 阅读 · 0 评论 -
按值传递和按引用传递
> function test(num){> 这里对num这个变量创建了一个内存的副本... var num = num+2;... return num;... }undefined> var num = 1undefined> test(num)3> num1> > function test(obj){> 当前o...原创 2019-10-22 14:49:24 · 217 阅读 · 0 评论 -
关于Event Listener事件(addListener)和Event inline事件(onclick)区别的实例
最近做的一个项目中需要实现一个功能,判断鼠标停放区域,根据不同的区域范围,滚动鼠标滚轮时,元素移动的距离长短不同。mouseover事件(){ 获取鼠标焦点坐标; 判断鼠标焦点所在区域范围; mousewheel鼠标滚动事件(){ alert("test"); };}在实现的时候,鼠标滚动事件可以用onmousewheel,也可以用add...原创 2019-10-18 19:14:35 · 1432 阅读 · 0 评论 -
为一个 demo 添加注释
我们可以这样为一个 demo 添加注释:// 函数:创建一个新的段落并添加至 HTML body 底部。function createParagraph() { let para = document.createElement('p'); para.textContent = '你点了这个按钮!'; document.body.appendChild(para);}/* ...原创 2019-08-12 18:38:03 · 131 阅读 · 0 评论 -
ES6-let,块级作用域,const
letlet命令有四大主要特性:存在块级作用域,没有变量提升,暂时性死区,不允许重复声明1、存在块级作用域let命令声明的变量只在其块级作用域中有效,就是{}中。{let a = 10;var b = 1;}console.log(a); //出错 not definedconsole.log(b); //1es5中要实现块级作用域,通常借助立即执行匿名函数来实现,如下::(...原创 2019-08-21 20:07:12 · 135 阅读 · 0 评论 -
函数作用域和冲突
函数作用域和冲突节我们来谈一谈 scope即作用域 — 处理函数时一个非常重要的概念。当你创建一个函数时,函数内定义的变量和其他东西都在它们自己的单独的范围内, 意味着它们被锁在自己独立的隔间中, 不能被函数外的代码访问。所有函数的最外层被称为全局作用域。 在全局作用域内定义的值可以在任意地方访问。JavaScript由于各种原因而建立,但主要是由于安全性和组织性。有时您不希望变量可以在代码...原创 2019-08-21 19:14:25 · 213 阅读 · 0 评论 -
填写来宾列表
在本练习中,我们希望您获取存储在数组中的名称列表,并将其放入来宾列表中。 但这不是那么容易 - 我们不想让菲尔和洛拉进来,因为他们是贪婪和粗鲁的,总是吃所有的食物! 我们有两个名单,一个是客人承认的,一个是客人拒绝的。具体来说,我们希望你:编写一个循环,它将从0迭代到people数组的长度。 你需要从一个初始化器var i = 0开始,但是你需要什么退出条件?在每个循环迭代期间,使用条件语句...原创 2019-08-21 17:28:13 · 141 阅读 · 0 评论 -
let-const-var
变量本质上是值(例如数字或字符串)的容器。 你可以使用关键字 let (旧代码中使用 var)和一个名字来创建变量(请参阅 let 和 var 之间的区别)。常量用于存储不希望更改的数据,用关键字 const 创建,用常量来保存对界面元素的引用。界面元素的文字可能会改变,但引用是不变的。...原创 2019-08-12 19:46:36 · 74 阅读 · 0 评论 -
var 与 let 的区别
var 与 let 的区别此时,您可能会想:“为什么我们需要两个关键字来定义变量?”,“为什么有 var 和 let 呢?"。原因是有些历史性的。 回到最初创建 JavaScript 时,是只有 var 的。 在大多数情况下,这种方法可以接受, 但有时在工作方式上会有一些问题——它的设计会令人困惑或令人讨厌 。 因此,let 是在现代版本中的 JavaScript 创建的一个新的关键字,用于创...原创 2019-08-12 19:38:45 · 146 阅读 · 0 评论 -
启动倒计时
启动倒计时!节在这个练习中,我们希望你打印出一个简单的启动倒计时到输出框,从10到关闭。 具体来说,我们希望你:从10下降到0.我们为您提供了一个初始化器 - var i = 10;对于每次迭代,创建一个新的段落并将其附加到输出,我们使用var output = document.querySelector(’.output’);。在评论中,我们为您提供了需要在循环中某处使用的三条代码行:...原创 2019-08-21 16:00:12 · 231 阅读 · 0 评论 -
深入解读ES6系列
兼容性ES6–IE10+,Chrome,firefox,移动端,node.js1.在线转换写好ES6,然后引用js库完成转换2.提前编译babel / browser.js变量**var–可以重复声明无法限制修改,常量没有块级作用域...原创 2019-08-16 21:07:29 · 75 阅读 · 0 评论 -
箭头函数与普通函数的区别
箭头函数与普通函数的区别箭头函数:let fun = () => {console.log(‘lalalala’);}普通函数:function fun() {console.log(‘lalla’);}箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ … }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ …...原创 2019-08-26 19:21:55 · 78 阅读 · 0 评论 -
尚硅谷-React项目-硅谷直聘
day011. 项目开发准备1). 项目描述: 整体业务功能/功能模块/主体的技术/开发模式2). 技术选型: 数据展现/用户交互/组件化, 后端, 前后台交互, 模块化, 项目构建/工程化, 其它3). API接口: 接口的4个组成部分, 接口文档, 对/调/测接口2. git管理项目的常用操作1). 创建本地仓库 创建.gitignore配置文件 git init...原创 2019-08-01 14:25:54 · 724 阅读 · 0 评论 -
【es6】对象的扩展
什么是es6 ?是js语言下一代的标准 在2015年6月发布的es6的作用 ?js语言可以编写大型的复杂的项目(更趋向于模块化)一 对象的扩展es6新增的一些处理我们对象的方法 (作用:为了更好地处理对象)1 属性的简写2 方法的简写3 属性名的表达式es5定义对象的两种 {1 标识符 2 表达式}4 supersuper 指向当前对象的原型对象**5 对象的展开运算符 ...原创 2019-09-27 20:22:01 · 89 阅读 · 0 评论 -
this指向‘
箭头函数中this对象就是定义时所在的作用域,也就是说箭头函数本身没有this,内部的this就是外层代码块作用域中的this。1、独立函数var a = 0var test = ()=> { var a = 1 console.log(this.a)}test() //0该箭头函数在全局环境中定义,即this指向window2、对象的方法var a =...原创 2019-09-05 17:46:06 · 74 阅读 · 0 评论 -
this指向
没有箭头函数之前,我们说this就是函数运行时所在的环境对象,但是在箭头函数中this就是定义时所在的对象,先说大家熟知的:函数运行时所在的环境对象。1、作为函数调用,this指向全局对象var q = 'window'var func = function { console.log(this.q)}func() //window2、作为对象的方法调用,该对象即为调用...原创 2019-09-05 17:44:21 · 59 阅读 · 0 评论 -
【MOOC】函数
函数的作用通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用执行函数的定义函数使用function声明,后跟一组参数一级函数体,语法如下:function functionName([arg0,arg1,...argn]){statements}说明:1、functionName是要定义的函数名,属于标识符2、[]中的arg0,arg1,…argn为函数的参数,不是必须的...原创 2019-09-05 12:14:45 · 127 阅读 · 0 评论 -
事件委托,使用事件委托的好处是什么?
事件委托事件委托就是利用事件冒泡机制指定一个事件处理程序,来管理某一类型的所有事件。即:利用冒泡的原理,把事件加到父级上,触发执行效果。**好处:只在内存中开辟了一块空间,节省资源同时减少了dom操作,提高性能对于新添加的元素也会有之前的事件**例子:ul中触发每个li来改变他们的背景颜色HTML:<ul id='ul'> <li>111111...原创 2019-08-29 19:34:13 · 3691 阅读 · 0 评论 -
call、apply、bind的用法分别是什么?
call:call 是函数的正常调用方式,并指定上下文 this。apply:apply 的作用和 call 一样,只是在调用的时候,传参数的方式不同。区别是 apply 接受的是数组参数,call 接受的是连续参数。如下代码:function add(a,b){return a+b;}add.call(add, 5, 3); //8add.apply(add, [5, 3]); //...原创 2019-08-27 10:08:48 · 223 阅读 · 0 评论 -
什么是闭包?闭包的用途是什么?
作者:星野链接:https://zhuanlan.zhihu.com/p/72713521来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。什么是闭包:变量的作用域有两种:全局变量和局部变量;函数内部可以直接读取全局变量;在函数外部无法读取函数内的局部变量。能够读取其他函数内部变量的函数,就是闭包:function f1(){ var n=999; ...原创 2019-08-26 19:25:54 · 2394 阅读 · 0 评论 -
脚本阻塞问题实际有两种解决方案 —— async 和 defer
async 和 defer上述的脚本阻塞问题实际有两种解决方案 —— async 和 defer。我们来依次讲解。浏览器遇到 async 脚本时不会阻塞页面渲染,而是直接下载然后运行。这样脚本的运行次序就无法控制,只是脚本不会阻止剩余页面的显示。当页面的脚本之间彼此独立,且不依赖于本页面的其它任何脚本时,async 是最理想的选择。比如,如果你的页面要加载以下三个脚本:三者的调用顺序...原创 2019-08-12 18:26:38 · 906 阅读 · 0 评论 -
转换大小写
转换大小写字符串方法toLowerCase()和toUpperCase()字符串并将所有字符分别转换为小写或大写。 例如,如果要在将数据存储在数据库中之前对所有用户输入的数据进行规范化,这可能非常有用。让我们尝试输入以下几行来看看会发生什么:let radData = ‘My NaMe Is MuD’;radData.toLowerCase();radData.toUpperCase()...原创 2019-08-13 21:25:27 · 296 阅读 · 0 评论 -
获得字符串的长度
获得字符串的长度这很简单 — 你可以很轻松的使用 length 属性. 尝试输入以下的两行代码:let browserType = ‘mozilla’;browserType.length;这个结果应该返回一个数字:7,因为"mozilla"的长度为7个字符. 说字符串的长度有用是有很多原因的, 例如,你可能想算出一连串名字的长度,并用名字长度来作为名字排序的依据,亦或让一个用户知道他输入...原创 2019-08-13 21:24:43 · 311 阅读 · 0 评论 -
在字符串中查找子字符串并提取它
在字符串中查找子字符串并提取它有时候你会想要找出一个较小的字符串是否存在于一个较大的字符串中(我们通常会说一个字符串中存在一个子字符串)。 这可以使用indexOf()方法来完成,该方法需要一个parameter — 你想要搜索的子字符串。 尝试以下:browserType.indexOf(‘zilla’);结果是2,因为子字符串“zilla”从“mozilla”内的位置2(0,1,2 ——...原创 2019-08-13 21:23:28 · 4558 阅读 · 0 评论 -
05-React学习笔记
0. redux要点1. redux理解2. redux相关API3. redux核心概念(3个)4. redux工作流程5. 使用redux及相关库编码#1. redux理解什么?: redux是专门做状态管理的独立第3方库, 不是react插件作用?: 对应用中状态进行集中式的管理(写/读)开发: 与react-redux, redux-thunk等插件配合使用2. re...原创 2019-08-01 14:21:46 · 103 阅读 · 0 评论 -
04-React学习笔记
1. 最流行的开源React UI组件库1). material-ui(国外)官网: http://www.material-ui.com/#/github: https://github.com/callemall/material-ui2). ant-design(国内蚂蚁金服)官网: https://ant.design/github: https://github.com/a...原创 2019-08-01 14:20:56 · 90 阅读 · 0 评论 -
03-React学习笔记
1. 理解react-routerreact的一个插件库专门用来实现一个SPA应用基于react的项目基本都会用到此库2. 几个重要问题1). SPA应用单页Web应用(single page web application,SPA)整个应用只有一个完整的页面点击页面中的链接不会刷新页面, 本身也不会向服务器发请求当点击链接时, 只会做页面的局部更新数据都需要通过ajax请求...原创 2019-08-01 14:19:48 · 69 阅读 · 0 评论 -
02-React学习笔记
1. 使用React脚手架创建一个React应用1). react脚手架1. xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 * 包含了所有需要的配置 * 指定好了所有的依赖 * 可以直接安装/编译/运行一个简单效果2. react提供了一个专门用于创建react项目的脚手架库: create-react-app3. 项目的整体技术架构为: react + webp...原创 2019-08-01 14:19:07 · 94 阅读 · 0 评论