上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 本文介绍ES6新增的展开运算符(spread operator)。 由上图可得,展开运算符负责拼装数组和对象,与之相反,解构赋值负责分解数组和对象。 由上图可得,展开运算符能和解构赋值一起发挥成更大的作用。 上图的功能和Object.assign函数很像。 阅读全文
posted @ 2020-02-09 21:08 罗毅豪 阅读(284) 评论(0) 推荐(0)
摘要: 本文介绍下ES6的解构赋值。可用于解构数组和对象。 上图中ES5使用require(模板名)引入对象,是之前实现模块化的方式。 阅读全文
posted @ 2020-02-09 20:59 罗毅豪 阅读(177) 评论(0) 推荐(0)
摘要: 本文介绍下ES6中对象的一些拓展功能。 这三个语法糖在实际的项目开发中经常会见到。 阅读全文
posted @ 2020-02-09 20:50 罗毅豪 阅读(245) 评论(0) 推荐(0)
摘要: 本文介绍下ES6中对函数的语法升级。 1.增加了函数默认参数 2.箭头函数 注释:map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。这是ES5的语法。 ES6+提供的很多功能都是为了简化之前冗余的js代码的语法糖。 阅读全文
posted @ 2020-02-08 20:09 罗毅豪 阅读(414) 评论(0) 推荐(0)
摘要: 本文我们介绍下ES6的模板字符串。 1.str.includes('y')返回布尔值 2.str.repeat(3)返回结果字符串 3.str.startsWith()和str.endsWith()返回布尔值 阅读全文
posted @ 2020-02-08 19:48 罗毅豪 阅读(149) 评论(0) 推荐(0)
摘要: 本文介绍ES6中的const和let,现在ES6早已被浏览器支持了。 目前各大浏览器基本上都支持 ES6 的新特性,其中 Chrome 和 Firefox 浏览器对 ES6 新特性最友好,IE7~11 基本不支持 ES6(微软放弃IE了)。 以下是各大浏览器支持情况及开始时间: 下面开始介绍: ES 阅读全文
posted @ 2020-02-08 17:44 罗毅豪 阅读(620) 评论(0) 推荐(0)
摘要: 本文介绍下js中OOP的一些用法: 由上图可得: 1.typeof null结果是object,所以需要用与运算符再次判断是否为空。 2.构造器实现重载后,可依序传入参数或传入对象。 由上图可得:要实现链式调用,需要在函数中返回this。 由上图可得: 1.由于不能直接new出抽象类的对象,可以通过 阅读全文
posted @ 2020-02-07 17:30 罗毅豪 阅读(293) 评论(0) 推荐(0)
摘要: 本文详细介绍js中正则表达式的使用。 由上图可得: 1.可用正则表达式字面量直接调用test函数进行正则匹配判断,也可用new RegExp对象的方法。 2.正则表达式test函数返回布尔值。 由上图可得: 1.点号表示除换行符外的任意字符。 2.\u表示unicode。 3.\D表示\d的补集,\ 阅读全文
posted @ 2020-02-06 18:06 罗毅豪 阅读(180) 评论(0) 推荐(0)
摘要: 本文介绍下js的OOP中的继承。 上图的要点为:Foo函数在创建时会自动生成内置属性prototype,而typeof Foo.prototype是object类型的。 上图的要点为:Foo.prototype内置两个属性,constructor和__proto__。 上图的要点为: 1.Stude 阅读全文
posted @ 2020-02-05 19:16 罗毅豪 阅读(174) 评论(0) 推荐(0)
摘要: js的闭包是一个重要的概念,每次我都是忘了又看,看了又忘。这里记录一下: 上图两个函数中,左边的函数返回后,localVal会被垃圾回收机制处理。但是右边的localVal会一直在内存中,右边的出现的两个函数,一个函数在另一个函数内部,即是闭包。 上图的要点为: 1.!的作用是将function() 阅读全文
posted @ 2020-02-05 14:37 罗毅豪 阅读(173) 评论(0) 推荐(0)
摘要: 我们来分析一下bind方法的实现代码,下图的bind方法的实现为MDN(开发者社区)中的代码。 由上图可得:bind方法实现了两个功能:绑定this和科里化。 阅读全文
posted @ 2020-02-01 23:25 罗毅豪 阅读(218) 评论(0) 推荐(0)
摘要: 本文我们来学习下js函数的一些用法。 上图的要点为: 1.函数具有属性,如foo.length和foo.name。 2.arguments是类数组,arguments.length为实参的数目。 3.严格模式下,arguments为副本。 4.若未传参数,赋值给arguments[x]会无效。 5. 阅读全文
posted @ 2020-02-01 20:19 罗毅豪 阅读(306) 评论(0) 推荐(0)
摘要: 本文我们介绍下js中this的用法。 由上图可得,默认this指向window,而在node.js中this默认指向global。 由上图可得: 1.原型链为o->MyClass.prototype。 2.函数如果没有明确返回值默认返回this。 由上图可得:call和apply功能相同,不同之处为 阅读全文
posted @ 2020-02-01 13:48 罗毅豪 阅读(135) 评论(0) 推荐(0)
摘要: js的函数也是对象,其创建有三种方式:函数声明、函数表达式、函数构造器。 上图中,左边为函数声明,右边为函数表达式。 上图的要点为:函数声明和变量声明会前置,函数表达式不会前置。 上图的要点为: 1.可通过构造器直接新建函数,new可以省略。 2.Function前面的入参为函数入参,最后一个参数为 阅读全文
posted @ 2020-01-31 21:30 罗毅豪 阅读(223) 评论(0) 推荐(0)
摘要: Object.prototype上有toString/valueOf/hasOwnProperty等方法。 本文则介绍一些常用的数组方法: 上图的要点为: 1.join若无指定入参则默认用逗号拼接字符串。 2.使用join可以封装成重复字符串的函数。 上图的要点为: 使用reverse会修改原来的数 阅读全文
posted @ 2020-01-31 17:33 罗毅豪 阅读(161) 评论(0) 推荐(0)
摘要: 本文介绍一些js数组的用法: 上图的要点为: 1.unshift增加数组头部的元素,shift删除数组头部的元素。 2.delete除可删除对象的属性外,还可以删除数组的元素,使其占位变为undefined。 3.arr.length-=1和arr.pop()功能相同,即删除数组尾部的元素。 上图的 阅读全文
posted @ 2020-01-31 14:44 罗毅豪 阅读(250) 评论(0) 推荐(0)
摘要: 对象标签有三种:proto、class和extensible。 一、proto标签 例如我新建了一个person对象,那么其__proto__则指向Person.prototype,然后Person.prototype的__proto__则指向Object.prototype,Object.prot 阅读全文
posted @ 2020-01-23 21:25 罗毅豪 阅读(468) 评论(0) 推荐(0)
摘要: 本文介绍一下js对象的属性标签(configurable、writable、enumerable、value、get、set)的使用。 上图的要点为: 1.Object.getOwnPropertyDescriptor(obj,attr)可以获取属性标签的信息。 2.configurable控制属性 阅读全文
posted @ 2020-01-22 21:59 罗毅豪 阅读(493) 评论(0) 推荐(0)
摘要: 我们可以重写js对象属性的get和set方法。 从上图我们可以看出set和get的语法。 上图则是使用set和get方法对对象的属性进行了输入校验。 从上图可得若对象的原型链上具有不可配置的同名属性(Object.defineProperty定义的属性默认是不可配置的,即writable=false 阅读全文
posted @ 2020-01-22 16:13 罗毅豪 阅读(13449) 评论(0) 推荐(1)
摘要: 在js对象中,我们可以对对象属性进行操作。 上图的要点为:for-in会把原型链上的可枚举属性也列出来。 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined,从而在赋值过程中不报错。 上图的要点为: 1.delete不存在的属性,依旧返回true。 2.Object.get 阅读全文
posted @ 2020-01-22 15:46 罗毅豪 阅读(300) 评论(0) 推荐(0)
摘要: 一个js对象,除了自己设置的属性外,还会自动生成proto、class、extensible属性,其中,proto属性指向对象的原型。 对象的属性也有writable、enumerable、configurable、value和get/set的配置方法。 对象的创建方式有三种: 一、使用字面量直接创 阅读全文
posted @ 2020-01-22 11:15 罗毅豪 阅读(217) 评论(0) 推荐(0)
摘要: JavaScript严格模式的使用是规范js代码的一种行为,它对代码提出了更高的要求,会对代码进行错误检查,使js代码更加具有健壮性、安全性。 我们平时使用的是一般模式。要进入严格模式,可以在js文件开头写上 'use strict'; 或者在函数开头写上这一句,从而使得函数内部进入严格模式。从这里 阅读全文
posted @ 2020-01-21 22:56 罗毅豪 阅读(306) 评论(0) 推荐(0)
摘要: 由于需求的易变性,我们会把一些状态或选项存储到数据库中。其中,中文与数字值的对应便形成了数据字典。 获取数据字典列表的方法: //获取数据字典,参数为数据字典名,如:medicineType function getDataDictionary(groupCode,success){ $.ajaxD 阅读全文
posted @ 2020-01-21 09:27 罗毅豪 阅读(1745) 评论(0) 推荐(0)
摘要: JavaScript(ECMAScript5)是弱类型动态语言。我总结一下JS的数据类型相关知识。 一、六种数据类型 JS拥有number、boolean、string和null、undefined5种原始数据类型,还有object一种对象类型。 object类型又包括Function、Array和 阅读全文
posted @ 2020-01-20 22:05 罗毅豪 阅读(143) 评论(0) 推荐(0)
摘要: 昨晚我看了前端Q的B站直播视频,其中的有关前端学习的图谱和路径如下。 大家可以按照这个图谱和路径学习,丰富自己的前端知识体系,不断进步。 阅读全文
posted @ 2020-01-19 15:45 罗毅豪 阅读(236) 评论(0) 推荐(0)
摘要: 之前我一直没有重视过HTML语义化,觉得<div>+<span>,再用上一些基本的语义化标签,比如<p>,<h1>等等,写一些比较普通的页面足够了。但是,我们应当追求把语义化标签用对,而不是仅仅完成一个页面就行。 那么,为什么要使用HTML语义化呢?1.为了在没有CSS的情况下,页面也能呈现出很好地 阅读全文
posted @ 2020-01-19 00:14 罗毅豪 阅读(271) 评论(0) 推荐(0)
摘要: 我们在做对齐的效果时,通常会使用多个&nbsp;字符,如以下代码所示: <p><span class="first">来访时间:</span><span class="second" id="arriveTime"></span></p> <p><span class="first">离开时间:</ 阅读全文
posted @ 2020-01-18 15:19 罗毅豪 阅读(653) 评论(0) 推荐(0)
摘要: 安卓手机微信中清除页面缓存的方法只在安卓中有效,ios微信刷新页面即可清除缓存。 1.微信中打开网页 http://debugx5.qq.com。 2.滑动到底部,如图所示勾选4个缓存选项,点击清除即可。 此外,该网页还提供了其他功能,如使用VConsole进行调试等。 阅读全文
posted @ 2020-01-17 20:04 罗毅豪 阅读(4128) 评论(0) 推荐(0)
摘要: 在真实手机上运行H5页面时,无法看到控制台。 为了能在真实手机上使用控制台,可以加入如下代码实现控制台: //引入vconsole var isTestEnvironment =true if(isTestEnvironment){ var script, scripts = document.ge 阅读全文
posted @ 2020-01-17 16:04 罗毅豪 阅读(1364) 评论(0) 推荐(0)
摘要: jQuery是很早就出现的一个封装原生JS的库,而Vue则是最近几年流行的MVVM框架。那么,vue到底比jQuery好在哪儿呢? 一、开发者只需操作数据 1.数据与视图的分离(解耦)。jq的数据与视图混在一块,Vue的数据与视图分离。 2.数据驱动视图。jq直接用js修改视图,Vue以数据驱动视图 阅读全文
posted @ 2020-01-09 21:28 罗毅豪 阅读(4732) 评论(0) 推荐(3)
摘要: 若使用IDE提交Git出现以下错误: husky??? 则是ES6在提交校验过程中出现了问题,强制提交方式为: 命令行: git commit --no-verify IDEA: 在提交时取消勾选Run Git hooks VScode: 删除.git文件夹下hooks文件夹内的文件 即可成功提交代 阅读全文
posted @ 2020-01-09 14:50 罗毅豪 阅读(2980) 评论(0) 推荐(0)
摘要: 有时候在使用IDEA时,从Git上Pull一个maven工程下来没有自动将工程转换成maven工程,导致相应的依赖jar包无法下载。此时要将它转换成maven工程。 1.在工程名称上右击并点击【Add Framework Support】。 2.在打开的【Add Framework Support】 阅读全文
posted @ 2020-01-09 09:49 罗毅豪 阅读(1041) 评论(0) 推荐(1)
摘要: 在vscode中,默认缩进字符数为4,若想修改为2。 首先找到并点击首选项(Preferences)里的设置,搜索tabsize,将tabsize修改为2。 然后搜索detectIndentation(如果搜tabsize的时候出来了,就不用再重复搜索了),将这个属性的勾去掉或者设为false。 再 阅读全文
posted @ 2020-01-07 23:38 罗毅豪 阅读(7353) 评论(0) 推荐(1)
摘要: 1.安装nginx(需要先安装Homebrew)。使用命令 brew install nginx 安装nginx。 2.用命令 open /usr/local/Cellar/nginx 用访达打开安装路径。 3.打开bin文件夹,双击nginx文件,启动nginx,然后访问http://localh 阅读全文
posted @ 2020-01-04 14:52 罗毅豪 阅读(1381) 评论(0) 推荐(0)
摘要: 首先我们先看看几个表达式在浏览器控制台运行的结果: js新手常常在做输入校验时会写这样臃肿的代码: var a = 1 if(a!=null&&a!=undefined&&a!=''){ document.write('a为非空') } 实际上只需要写 var a = '' if(!!a){ con 阅读全文
posted @ 2020-01-01 17:49 罗毅豪 阅读(2375) 评论(0) 推荐(0)
摘要: 目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定制开发就是原生开发、H5开发和混合开发。 那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧! 一、原生开发(Native App开发) 原生开发,是在Android、 阅读全文
posted @ 2020-01-01 16:37 罗毅豪 阅读(6839) 评论(0) 推荐(0)
摘要: 我们在开发页面时,会遇到pt、px、em、rem这四种单位。下面介绍一下这四个单位。 1.pt,英文为points,绝对长度单位,意为磅。设计软件zeplin所用的单位就是pt。现在很少使用这个单位了。 2.px,英文为pixel,相对长度单位,意为像素。是相对于屏幕分辨率的单位,国内主流单位。 3 阅读全文
posted @ 2019-12-31 21:44 罗毅豪 阅读(1083) 评论(0) 推荐(0)
摘要: 在IDEA提交代码时,有一些文件我们是不想提交的,比如自动生成和修改的.idea文件夹,但是提交的时候会让我们勾选。 为了避免误提交,我们可以在version control中新建changelist。 命名为ignored。 将不需要提交的文件选中拖入ignored文件夹。 提交的时候选择Defa 阅读全文
posted @ 2019-12-31 15:22 罗毅豪 阅读(10550) 评论(0) 推荐(1)
摘要: Homebrew是一款Mac OS平台下的软件包管理工具。 安装方法:命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 但是,此方法一般会因 阅读全文
posted @ 2019-12-20 09:53 罗毅豪 阅读(4540) 评论(1) 推荐(0)
摘要: Mac终端在执行命令的时候,想跟Windows系统一样通过按tab键进行命令的自动补全,方法如下: 1.打开终端输入,即用nano编辑器打开文件 nano .inputrc (这里一定要注意nano后面有一个空格) 2.在nano编辑器中写上如下命令 set completion-ignore-ca 阅读全文
posted @ 2019-12-19 21:40 罗毅豪 阅读(1359) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 下一页