
JavaScript
Mount华
以身为棋,胜天半子!
展开
-
整洁的javascript代码
变量1.使用直观且有意义的变量名Bad:const yyyymmdstr = moment().format("YYYY/MM/DD");Good:const currentDate = moment().format("YYYY/MM/DD");2.对相同类型的变量使用相同的词汇Bad:getUserInfo();getClientData();getCustomerRe...原创 2020-02-13 15:04:35 · 296 阅读 · 0 评论 -
JavaScript权威指南之函数
闭包词法作用域:函数的执行依赖于作用域,这个作用域是在函数定义时决定的,而不是在函数调用时决定的。定义:当调用函数时的作用域和定义函数时的作用域不是同个作用域,就叫闭包。var scoped = 'global scoped';function getScoped () { var scoped = 'local scoped'; function func () { return...原创 2020-01-07 07:38:57 · 297 阅读 · 0 评论 -
JavaScript权威指南之数组
创建数组1.数组字面量var arr = [1,2,3];2.使用构造函数Array(创建的数组是稀疏数组,后面解释)var arr = new Array(10);数组元素的读和写1.数组是属于特殊对象。2.如果属性是数组的索引,那么数组将会更新其length。3.如果使用非数字或者负数来索引数组,那么数值会转换为非数组索引,当做常规对象的属性。4.数组的索引属于对象属性名...原创 2019-12-28 11:06:28 · 251 阅读 · 0 评论 -
Javascript权威指南之类型、变量和表达式
整型直接量在ES6的严格模式下,八进制是被严格禁止的。在之前的版本虽然不支持,但是javascript的某些实现使得可以使用八进制数作为整型数。算术运算Number.POSITIVE_INFINITY === Infinity; //tueNumber.NEGATIVE_INFINITY === -Infinity; //tueisFinite()在Infinity、-Infini...原创 2019-12-27 23:10:45 · 185 阅读 · 0 评论 -
JavaScript权威指南之对象
创建对象1.对象直接量var obj = { name: 'xiaoming', age: 20};2.关键字newvar obj = new Object();3.Object.create函数var obj = Object.create(Object.prototype);实现原理:/**@params {object} p@returns {object}...原创 2019-12-27 13:14:10 · 129 阅读 · 0 评论 -
vue绑定key的案例(输入框失焦问题)
之前做过这样的一个需求,就是输入框可动态增加或者减少的场景。通过v-for来遍历所有输入框,那么分析下面key几种情况:为了演示,这里假设输入框的校验规则是允许字符数为1-5。1.没有绑定key 或者 key绑定index的情况如图所示,第二个输入框输入了6个字符,校验不通过,但是第三个输入框校验是通过的,但是当我们删除第二个输入框的时候,第三个输入框变为第二个输入框,本来校验通过的,现在反...原创 2019-12-14 16:59:30 · 1816 阅读 · 0 评论 -
JavaScript系列之四:模块化开发
模块化如果不用模块化编写代码,那么会具有以下问题:代码杂乱无章,没有条理性,不便于维护,不便于复用全局变量污染不方便保护私有数据模块化的基本实现:闭包的自调用函数 var DatePicker = (function(){ return { init(){ } } }){}AMD模块...原创 2019-01-13 14:59:34 · 204 阅读 · 0 评论 -
JavaScript系列之三:正则表达式
正则表达式学习网站https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp概念正则表达式是为了解决字符串操作中一些比较麻烦的场景,比如字符串提取、字符串替换、字符串验证等常用于:表单验证:是否是一个数字、是一个电话号码、是一个邮箱。。。字符串替换:创建一个正...原创 2019-01-13 14:54:40 · 156 阅读 · 0 评论 -
JavaScript系列之二:继承、作用域、闭包
继承JS中继承的概念:通过【某种方式】让一个对象可以访问到另一个对象中的属性和方法,我们把这种方式称之为继承 并不是所谓的xxx extends yyy为什么要使用继承?有些对象会有方法(动作、行为),而这些方法都是函数,如果把这些方法和函数都放在构造函数中声明就会导致内存的浪费 function Person(){ this.say=function()...原创 2019-01-13 14:41:03 · 472 阅读 · 0 评论 -
JavaScript系列之一:面向对象编程
JS基本介绍JS的用途:Javascript可以实现浏览器端、服务器端(nodejs)。。。浏览器端JS由以下三个部分组成:ECMAScript:基础语法(数据类型、运算符、函数。。。)BOM(浏览器对象模型):window、location、history、navigator。。。DOM(文档对象模型):div、p、span。。。ECMAScript又名es,有以下重大版本:...原创 2019-01-13 14:39:23 · 141 阅读 · 0 评论 -
Javascript面向对象编程(三):非构造函数的继承
该系列文章有三篇,本篇属于第三篇。第一篇:Javascript 面向对象编程(一):封装第二篇:Javascript面向对象编程(二):构造函数的继承文章是引用阮一峰老师的,但里面细节结合了自己一部分的思考。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。var Chinese = { nation:'中国'};还有一个对象,叫做"医生"。var Do...转载 2019-01-12 14:51:04 · 116 阅读 · 0 评论 -
Javascript 面向对象编程(一):封装
Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢?一、 生成实例对象的原始模式假定我们把猫看成一个对象,它有"名字...转载 2019-01-12 14:26:22 · 152 阅读 · 0 评论 -
JavaScript创建自定义类型的方法(组合使用构造函数模式和原型模式)
创建自定义类型的最常见方式,就是组合使用构造函数模式和原型模式。构造函数模式用于定义实例属性,而原型属性用于定义方法和共享的属性。结果,每个实例都会有自己的一份实例属性的副本,但同时又共享着对方法的引用,最大限度地节省了内存。这种混成模式还支持向构造函数传递参数;可谓是集两种模式之长。function Person(name,age,job) { this.name = name; th...原创 2019-01-12 14:23:33 · 273 阅读 · 0 评论 -
Javascript面向对象编程(二):构造函数的继承
先定义两个对象:定义一个“动物”对象function Animal(species){ this.species = "动物"; this.eat = function() { console.log("吃东西");}再定义一个“猫”对象function Cat(name,color) { this.name = name; this.color = colo转载 2019-01-12 13:13:05 · 147 阅读 · 0 评论