01 2020 档案
摘要:js的函数也是对象,其创建有三种方式:函数声明、函数表达式、函数构造器。 上图中,左边为函数声明,右边为函数表达式。 上图的要点为:函数声明和变量声明会前置,函数表达式不会前置。 上图的要点为: 1.可通过构造器直接新建函数,new可以省略。 2.Function前面的入参为函数入参,最后一个参数为
阅读全文
摘要:Object.prototype上有toString/valueOf/hasOwnProperty等方法。 本文则介绍一些常用的数组方法: 上图的要点为: 1.join若无指定入参则默认用逗号拼接字符串。 2.使用join可以封装成重复字符串的函数。 上图的要点为: 使用reverse会修改原来的数
阅读全文
摘要:本文介绍一些js数组的用法: 上图的要点为: 1.unshift增加数组头部的元素,shift删除数组头部的元素。 2.delete除可删除对象的属性外,还可以删除数组的元素,使其占位变为undefined。 3.arr.length-=1和arr.pop()功能相同,即删除数组尾部的元素。 上图的
阅读全文
摘要:对象标签有三种:proto、class和extensible。 一、proto标签 例如我新建了一个person对象,那么其__proto__则指向Person.prototype,然后Person.prototype的__proto__则指向Object.prototype,Object.prot
阅读全文
摘要:本文介绍一下js对象的属性标签(configurable、writable、enumerable、value、get、set)的使用。 上图的要点为: 1.Object.getOwnPropertyDescriptor(obj,attr)可以获取属性标签的信息。 2.configurable控制属性
阅读全文
摘要:我们可以重写js对象属性的get和set方法。 从上图我们可以看出set和get的语法。 上图则是使用set和get方法对对象的属性进行了输入校验。 从上图可得若对象的原型链上具有不可配置的同名属性(Object.defineProperty定义的属性默认是不可配置的,即writable=false
阅读全文
摘要:在js对象中,我们可以对对象属性进行操作。 上图的要点为:for-in会把原型链上的可枚举属性也列出来。 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined,从而在赋值过程中不报错。 上图的要点为: 1.delete不存在的属性,依旧返回true。 2.Object.get
阅读全文
摘要:一个js对象,除了自己设置的属性外,还会自动生成proto、class、extensible属性,其中,proto属性指向对象的原型。 对象的属性也有writable、enumerable、configurable、value和get/set的配置方法。 对象的创建方式有三种: 一、使用字面量直接创
阅读全文
摘要:JavaScript严格模式的使用是规范js代码的一种行为,它对代码提出了更高的要求,会对代码进行错误检查,使js代码更加具有健壮性、安全性。 我们平时使用的是一般模式。要进入严格模式,可以在js文件开头写上 'use strict'; 或者在函数开头写上这一句,从而使得函数内部进入严格模式。从这里
阅读全文
摘要:由于需求的易变性,我们会把一些状态或选项存储到数据库中。其中,中文与数字值的对应便形成了数据字典。 获取数据字典列表的方法: //获取数据字典,参数为数据字典名,如:medicineType function getDataDictionary(groupCode,success){ $.ajaxD
阅读全文
摘要:JavaScript(ECMAScript5)是弱类型动态语言。我总结一下JS的数据类型相关知识。 一、六种数据类型 JS拥有number、boolean、string和null、undefined5种原始数据类型,还有object一种对象类型。 object类型又包括Function、Array和
阅读全文
摘要:昨晚我看了前端Q的B站直播视频,其中的有关前端学习的图谱和路径如下。 大家可以按照这个图谱和路径学习,丰富自己的前端知识体系,不断进步。
阅读全文
摘要:之前我一直没有重视过HTML语义化,觉得<div>+<span>,再用上一些基本的语义化标签,比如<p>,<h1>等等,写一些比较普通的页面足够了。但是,我们应当追求把语义化标签用对,而不是仅仅完成一个页面就行。 那么,为什么要使用HTML语义化呢?1.为了在没有CSS的情况下,页面也能呈现出很好地
阅读全文
摘要:我们在做对齐的效果时,通常会使用多个 字符,如以下代码所示: <p><span class="first">来访时间:</span><span class="second" id="arriveTime"></span></p> <p><span class="first">离开时间:</
阅读全文
摘要:安卓手机微信中清除页面缓存的方法只在安卓中有效,ios微信刷新页面即可清除缓存。 1.微信中打开网页 http://debugx5.qq.com。 2.滑动到底部,如图所示勾选4个缓存选项,点击清除即可。 此外,该网页还提供了其他功能,如使用VConsole进行调试等。
阅读全文
摘要:在真实手机上运行H5页面时,无法看到控制台。 为了能在真实手机上使用控制台,可以加入如下代码实现控制台: //引入vconsole var isTestEnvironment =true if(isTestEnvironment){ var script, scripts = document.ge
阅读全文
摘要:jQuery是很早就出现的一个封装原生JS的库,而Vue则是最近几年流行的MVVM框架。那么,vue到底比jQuery好在哪儿呢? 一、开发者只需操作数据 1.数据与视图的分离(解耦)。jq的数据与视图混在一块,Vue的数据与视图分离。 2.数据驱动视图。jq直接用js修改视图,Vue以数据驱动视图
阅读全文
摘要:若使用IDE提交Git出现以下错误: husky??? 则是ES6在提交校验过程中出现了问题,强制提交方式为: 命令行: git commit --no-verify IDEA: 在提交时取消勾选Run Git hooks VScode: 删除.git文件夹下hooks文件夹内的文件 即可成功提交代
阅读全文
摘要:有时候在使用IDEA时,从Git上Pull一个maven工程下来没有自动将工程转换成maven工程,导致相应的依赖jar包无法下载。此时要将它转换成maven工程。 1.在工程名称上右击并点击【Add Framework Support】。 2.在打开的【Add Framework Support】
阅读全文
摘要:在vscode中,默认缩进字符数为4,若想修改为2。 首先找到并点击首选项(Preferences)里的设置,搜索tabsize,将tabsize修改为2。 然后搜索detectIndentation(如果搜tabsize的时候出来了,就不用再重复搜索了),将这个属性的勾去掉或者设为false。 再
阅读全文
摘要:1.安装nginx(需要先安装Homebrew)。使用命令 brew install nginx 安装nginx。 2.用命令 open /usr/local/Cellar/nginx 用访达打开安装路径。 3.打开bin文件夹,双击nginx文件,启动nginx,然后访问http://localh
阅读全文
摘要:首先我们先看看几个表达式在浏览器控制台运行的结果: js新手常常在做输入校验时会写这样臃肿的代码: var a = 1 if(a!=null&&a!=undefined&&a!=''){ document.write('a为非空') } 实际上只需要写 var a = '' if(!!a){ con
阅读全文
摘要:目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定制开发就是原生开发、H5开发和混合开发。 那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧! 一、原生开发(Native App开发) 原生开发,是在Android、
阅读全文