js

了解gulp

痴心易碎 提交于 2020-02-28 22:28:15
简单了解gulp 在日常开发中,我们往往会用到很多前端的构造工具,我们常见的有Node,NPM,Grunt,Gulp…,很多很多,上一篇博客中已经简单的介绍了npm,这里再简单讲解一下gulp。 什么是gulp gulp是一个前端自动化打包构建工具,主要用来帮我们把代码进行压缩、转码,gulp运行必须依赖 node 环境。 gulp 安装 因为gulp是一个全局工具,所以直接使用npm安装gulp工具就ok了。当然也可以安装项目里的gulp,看个人需求。 全局安装gulp: npm i -g gulp 项目安装gulp : npm i gulp gulp 检测 检测gulp: gulp --version 或者 gulp -v ,版本号为CLI version: 2.2.0就是对的。 gulp 卸载 输入指令 npm uninstall --global gulp 或 npm un -g gulp 即可完成卸载 gulp 的方法 1. src ( ) => 用来找到你要打包的文件的 => src ( '你要打包的文件的地址' ) => 返回值就是一个 二进制流 , 就可以继续去调用别的方法 2. pipe ( ) => 用来帮你做事情的 => pipe ( 你要做的事情 ) => 返回值 : 又是一个二进制流 , 可以继续使用方法 3. dest ( ) => 用来写入文件的 =>

Js日常笔记之数组

瘦欲@ 提交于 2020-02-28 21:03:05
1、Array 构造函数 有一个很大的问题,就是不同的参数,会导致它的行为不一致,es6好像专门为此对数组有升级 因此,不建议使用new Array生成新数组,直接使用数组字面量[...]是更好的做法。 2、Array.isArray 方法用来判断一个值是否为数组。它可以弥补 typeof 运算符的不足 var a = [1, 2, 3]; typeof a // "object" Array.isArray(a) // true 3、push()和pop() 结合使用,就构成了“后进先出”的栈结构(stack) push 方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度, pop 方法用于删除数组的最后一个元素,并返回该元素。 4、join() 方法以参数作为分隔符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分隔。 如果数组成员是 undefined 或 null 或空位,会被转成空字符串 [undefined, null].join('#') // '#' ['a',, 'b'].join('-') // 'a--b' 通过 call 方法,这个方法也可以用于字符串 Array.prototype.join.call('hello', '-') // "h-e-l-l-o" 5、concat() 方法用于多个数组的合并。返回一个新数组

js的Prototype属性 解释及常用方法

耗尽温柔 提交于 2020-02-28 19:36:16
JavaScript能够实现的面向对象的特征有: ·公有属性(public field) ·公有方法(public Method) ·私有属性(private field) ·私有方法(private field) ·方法重载(method overload) ·构造函数(constructor) ·事件(event) ·单一继承(single inherit) ·子类重写父类的属性或方法(override) ·静态属性或方法(static member) 例子一(JavaScript中允许添加行为的类型): 可以在类型上使用proptotype来为类型添加行为。这些行为只能在类型的实例上体现。 JS中允许的类型有Array, Boolean, Date, Enumerator, Error, Function, Number, Object, RegExp, String Js代码 <script type="text/javascript"> Object.prototype.Property = 1; Object.prototype.Method = function () { alert(1); } var obj = new Object(); alert(obj.Property); obj.Method(); </script> 例子二(prototype使用的限制

JS切勿一味地使用===

强颜欢笑 提交于 2020-02-28 18:53:45
全文共 3228 字,预计学习时长 10 分钟 来源:Pexels 相比==,许多开发人员更喜欢使用===,为什么呢? 网上大多数教程都有解释过,JavaScript的强制转换太过复杂,难以预测,因此建议始终使用===。 互联网上一些教程的错误观念误导了大众,以及许多不成文的规则和受欢迎的网站都建议一直使用===。 这些都导致许多程序员放弃了一些程序语言,并将其视为缺陷,而不是深入理解领悟它们。 下面的两个案例说明了在哪些情况下最好使用==。 1. 测试空值 if (x ==null)vsif (x === undefined || x === null) 2. 读取用户的输入 let userInput = document.getElementById('amount'); let amount =999; if (amount == userInput) vs if (amout ===Number(userInput)) 本文将深入了解该主题,通过发现二者之间的差异,理解强制转换的概念,研究一些经典案例,并最终找到指导我们做出决定的准则。 引言 在Javascript脚本语言中,有两个运算符表示“相等”关系。 1、=== — 严格相等比较也称为三重相等比较。 2、==—抽象相等比较也称为双重相等比较。 我习惯于使用===,因为有人告诉我它比==更好用,更高级,且作为一个懒汉

Js 小记

做~自己de王妃 提交于 2020-02-28 18:46:06
isNaN() : 判断是否是数字 function isRealNum(val){ // 1、空串 空格 NULL 会被当做数字(需去除)  if(val === "" || val ==null){ return false;  }  // 2、空数组、只有一个数值成员的数组、全是数字组成的字符串会被当成数字([]、[2]、['123']、'123') //如果不需要val包含这些特殊情况,这个判断改写为if(!isNaN(val) && typeof val === 'number') if(!isNaN(val)){        return true;  }else{   return false;  } } 来源: CSDN 作者: 飞扬_柳絮 链接: https://blog.csdn.net/tjcjava/article/details/104558688

事件简单学习

99封情书 提交于 2020-02-28 16:58:47
功能:某些组件执行了某些操作后,触发某些代码的执行。 理解概念 如何绑定事件? 1.写在HTML标签上。指定事件的属性(操作),属性值就是js代码。   缺点:耦合度高,黏在一起了,不利于维护 2.通过js获取元素对象,指定事件属性,设置一个函数(js代码) 来源: https://www.cnblogs.com/rijiyuelei/p/12377839.html

js实现树级递归,通过js生成tree树形菜单(递归算法)

妖精的绣舞 提交于 2020-02-28 16:09:51
需求:首先这是一个数据集—js的类型,我们需要把生成一个tree形式的对象 : var data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: "请假申请", pid: 1 }, { id: 3, name: "出差申请", pid: 1 }, { id: 4, name: "请假记录", pid: 2 }, { id: 5, name: "系统设置", pid: 0 }, { id: 6, name: "权限管理", pid: 5 }, { id: 7, name: "用户角色", pid: 6 }, { id: 8, name: "菜单设置", pid: 6 }, ]; id,与pid之间的对应关系,当pid不存在,或pid:0的时候,这一项,应该为树的顶端,那么我们需要去重新建一次索引,怎么建呢,,,以原数据集的id的值,重新生成一个数据如下: var data = [ {id: 1, name: "办公管理", pid: 0 , children:[ { id: 2, name: "请假申请", pid: 1, hildren:[ { id: 4, name: "请假记录", pid: 2 }, ], }, { id: 3, name: "出差申请", pid: 1}, ] }, {id: 5, name:

JS中undefined和null的区别,以及出现原因

社会主义新天地 提交于 2020-02-28 15:49:03
区别:null是一个表示无的对象,转换为数值为0; undefined表示一个无的原始值,转化为数值为NAN(与任何数字相加也为NAN) undefined出现原因:(口诀:一变量二函数一对象) 1.变量被声明了但是没赋值时 2.调用函数时,应该提供的参数没提供,则该参数为undefined 3.函数没有返回值时,默认返回undefined 4.对象没有赋值的属性 null出现原因 1.作为函数的参数,表示该函数的参数不是对象 2.作为对象原型链的终点 来源: https://www.cnblogs.com/suihang/p/9484655.html

js中NAN、NULL、undefined的区别

痴心易碎 提交于 2020-02-28 15:46:21
NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值。 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 其进行操作(当然赋值除外),会有"undefined"提示null 值指出一个变量中没有包含有效的数据。 产生 null 的原因是:对一个变量显式地赋值为 null。 包含 null 的表达式之间的任何操作。 Boolean 表达式 一个值为 true 或者 false 的表达式。 如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:所有的对象都被当作 true。 当且仅当字符串为空时,该字符串被当作 false。 null 和 undefined 被当作 false。 当且仅当数字为零时,该数字被当作 false。 字符串比较 两个字符序列之间的比较。 除非在进行比较操作的函数中指出,所有的字符串比较操作都是二进制的。 在英语中,二进制比较区分大小写;而文本比较则不区分。 数值表达式 数值表达式指的是任何值为数字的表达式。这种表达式的元素可以包括关键字、变量、文字和运算 符的任意组合,只要此组合能够生成一个数字。在特定的情况下,如果可以的话,字符串也可以被 转换为数字。 构造函数 一种 JScript 函数,具有两个特殊的性质:由 new

js json数据保存到本地

孤人 提交于 2020-02-28 14:49:42
转自:https://www.cnblogs.com/gamedaybyday/p/9906542.html 使用HTML5来实现本地文件读取和写入 (FileReader读取json文件,FileSaver.js保存json文件) w3school <input>标签 FileReader WebAPI接口 FileSaver.js下载地址 FileSaver.js介绍 JS创建、写入、读取本地文件(txt) (ActiveXObject 这玩意根本不能用,IE10 和 Chrome都试了) HTML 5中的文件处理之File Writer API (FileSaver和FileWriter都是不能直接修改保存指定文件的,只能生成一个文件,然后浏览器以"下载"的形式保存) 一、读取本地JSON文件 1. 首先使用标签<input>创建一个读取的按钮 2. 然后选择本地的json文件后使用FileReader读取json文件的内容,此时读取的结果是字符串 3. 将读取的结果字符串使用JSON.parse转为json格式,之后再使用 <div> <input type="file" id="files"/> </div> <script> var inputElement = document.getElementById("files"); inputElement