var方法

ECMAScript 6简介

半城伤御伤魂 提交于 2020-04-07 07:55:25
一、起步 1、扎实的 HTML/CSS/Javascript 基本功,这是前置条件。 2、不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法。 不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础。 3、学习了解ES6的语法。 二、ECMAScript介绍 1997年 ECMAScript 1.0 诞生 1999年12月 ECMAScript 3.0诞生,它 是一个巨大的成功,在业界得到了广泛的支持,它奠定了JS的基本语法,被其后版本完全继承。直到今天,我们一开始学习JS,其实就是在学3.0版的语法 2000年的ECMAScript4.0是当下ES6的前身,但由于这个版本太过激烈,对ES3做了彻底升级,所以暂时被“和谐”了 2009年12月,ECMAScript5.0版正式发布。ECMA专家组预计ECMAScript的第五个版本会在2013年中期到2018年作为主流的开发标准。2011年6月,ES5.1版发布,并且成为ISO国际标准 2013年,ES6草案冻结,不再添加新的功能,新的功能将被放到ES7中;2015年6月,ES6正式通过,成为国际标准 简单来学几个es6的语法,仅仅的只是为了vue的课程做课前准备。更多背景知识可以查看 http://es6.ruanyifeng.com/

jquery插件开发

懵懂的女人 提交于 2020-04-03 21:30:56
;(function($, window, document,undefined) { var Beautifier = function(ele, opt) { //创建对象 this.$element = ele, //接受jq对象 this.defaults = { //默认参数 'color': 'red', 'fontSize': '12px', 'textDecoration': 'none' }, this.options = $.extend({}, this.defaults, opt) //传递的参数和默认参数合并 } Beautifier.prototype = { //对象添加方法 beautify: function() { return this.$element.css({ 'color': this.options.color, 'fontSize': this.options.fontSize, 'textDecoration': this.options.textDecoration }); } } $.fn.myPlugin = function(options) { //把对象的方法添加到jquery方法中 var beautifier = new Beautifier(this, options); //外部传进jq对象和用户配置

前端常见面试题

半腔热情 提交于 2020-04-01 07:36:36
一.JS (1) 在函数中赋值,多次赋值,出现问题 var a = b = c = 10; console.log(delete a); //false console.log(delete b); //true console.log(delete c); //true function fn(){ var a = b = c = 10; } fn(); console.log(b); //10 console.log(c); //10 console.log(a); //a is not defined (2)数组的length 赋值给变量后,无法判断数组长度 var arr = [1,2,3], i = 0, len = arr.length; arr.length = 2; console.log(len); //3 console.log(arr.length); //2 (3) 截取字符 console.log('abcdefg'.substring(4)) // efg (4) 统计一个字符里出现最多的字母和出现次数 var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.charAt

前端干货之JS最佳实践

岁酱吖の 提交于 2020-03-30 10:22:54
持续更新地址 https://wdd.js.org/js-best-pr... 1. 风格 一千个读者有一千个哈姆雷特 ,每个人都有自己的code style。我也曾为了要不要加分号给同事闹个脸红脖子粗,实际上有必要吗? 其实JavaScript已经有了比较流行的几个风格 JavaScript Standard Style Google JavaScript Style Guide Airbnb JavaScript Style Guide 我自己使用的是 JavaScript Standard Style , 我之所以使用这个,是因为它有一些工具。可以让你写完代码后,一旦保存,就自动帮你把你的风格的代码修正成标准分割,而不是死记硬背应该怎么写。看完这个页面,你就应该立马爱上 JavaScript Standard Style , 如果你用vscode, 恰好你有写vue, 你想在.vue文件中使用standard风格,那么你需要看看 这篇文章 2. 可维护性 很多时候,我们不是从零开始,开发新代码。而是去维护别人的代码,以他人的工作成果为基础。确保自己的代码可维护,是赠人玫瑰,手留余香的好事。一方面让别人看的舒服,另一方面也防止自己长时间没看过自己的代码,自己都难以理解。 2.1. 什么是可维护代码 可维护的代码的一些特征 可理解 易于理解代码的用途 可适应 数据的变化

匿名类型

徘徊边缘 提交于 2020-03-28 15:23:10
匿名类型 定义:匿名类是没有名字的类 特点:匿名类不能被引用,只能在创建时通new来声明。 匿名类的优势以及应用场景: a.匿名类型提功了一种方便的方法 可以来将一组只读属性封装到单个属性中,而且 无需首先定义一个类型 b.类型名由编译器生成 并且不能再带源代码级使用 ,每个属性的类型有编译器推断 c.可以使用new运算符和对象初始值创建匿名类型 匿名类型的应用: var news=new{name="",day=""} showinfo(news); var隐士类型: 隐式类型 var , 是 声明变量是无须指定数据类型,编译器会根据赋值判断其数据类型的一种机制。 优势:通过var这个隐式类型,可以提高开发人员的开发效率,很多时候可以不考虑对象的类型,编译器会自动帮我们判断 var的规则使用: var可习惯会被比阿布一起根据初始值的类型推断出具体的类型 var类型的局部变量必须赋予初始值 无法将null辅助分隐式类型的局部变量 car类型那个变量的定义必须是在方法中或者在属性get,set访问器中 var‘不能作为方法的参数 不能当作返回值类型 语句中只能声明一次变量,声明后不能更改类型 匿名方法:是c#2.0引入的一个新特性,它允许开发者内联声明自己的函数代码无须使用委托函数 匿名方法的应用场景: 1.需要一个临时方法,该方法使用次数极少; 2. 这个方法的代码很短

js笔记10

随声附和 提交于 2020-03-28 06:12:43
1.闭包    封装:减少代码的冗余,提高代码的重复利用率   继承:本来需要开辟多个空间,只需要开辟一个空间,减少内存的消耗,提高性能   函数归属:函数归属谁,跟他在哪调用没有关系,而跟他在哪定义有关   闭包的定义:函数在调用的时候,会形成一个私有作用域,内部的变量不能被外部访问,这种保护机制叫闭包(这就意味着函数调用完毕,这个函数形成的栈内存就会被销毁)   栈内存被销毁的案例:    function fn(){     var a=12;     a++;      console.log(a)   }   fn() //13   fn() //13   fn() //13 (因内部存在一个变量,所以在函数内部栈内存就会被销毁)       但有时候,我们不希望他被销毁 ,所以需要return   案例:    function fn(){     var a=12     return function(){       a++;       console.log(a)     }   }   var ss=fn()   ss()  //13   ss()  //14   ss()  //15    解析:       fn()调用完毕后得到的是一个匿名函数,但这个匿名函数在fn()这个作用域下定义的,所以匿名函数内部的变量在fn()作用域下查找

数组深拷贝的方法

最后都变了- 提交于 2020-03-28 05:46:07
方法一:for循环实现 var arr = [1,2,3,4,5] var arr2 = copyArr(arr) function copyArr(arr) { let res = [] for (let i = 0; i < arr.length; i++) { res.push(arr[i]) } return res }方法二:slice方法原理也比较好理解,他是将原数组中抽离部分出来形成一个新数组。我们只要设置为抽离全部,即可完成数组的深拷贝,如下 var arr = [1,2,3,4,5] var arr2 = arr.slice(0) arr[2] = 5 console.log(arr) console.log(arr2)方法三:concat方法原理更加粗暴。它是用于连接多个数组组成一个新的数组的方法。那么,我们只要连接它自己,即可完成数组的深拷贝。代码如下 var arr = [1,2,3,4,5] var arr2 = arr.concat() arr[2] = 5 console.log(arr) console.log(arr2) 方法四:ES6扩展运算符实现用下面的方法实现数组的深拷贝是最简单的 var arr = [1,2,3,4,5] var [ ...arr2 ] = arr arr[2] = 5 console.log(arr) console

js排序方法总结

余生长醉 提交于 2020-03-28 05:45:03
一、冒泡排序   1.1 普通冒泡排序   function maopaoSort(arr){     for(var i=0,len=arr.length; i<len; i++){       for(var j=0; j<len-1-i; j++){ // 每一次循环结束都会找到最大的数放到数组最后,第一次是把整个数组最大的数放到最后         if(arr[j] > arr[j+1]){           var temp = arr[j+1];           arr[j+1]=arr[j];           arr[j]=temp;         }       }     }     return arr;   }   var arr=[9,23,0,1,345,-3,2,56,79,34,11];   console.log(maopaoSort(arr));   1.2 改进普通版,减少不必要步骤   function maopaoSort2(arr){     var i= arr.length-1;        while(i>0){       var pos = 0; // 每次循环记录最大数交换的位置       for(var j=0;j<i;j++){         if(arr[j] > arr[j+1]){         

计算年龄的函数方法

孤人 提交于 2020-03-26 11:05:42
function GetAge(identityCard) { var len = (identityCard + "").length; if (len == 0) { return 0; } else { if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法 { return 0; } } var strBirthday = ""; if (len == 18)//处理18位的身份证号码从号码中得到生日和性别代码 { strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2); } if (len == 15) { strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, 2); } //时间字符串里,必须是“/” var birthDate = new Date(strBirthday); var nowDateTime = new Date(); var age = nowDateTime

javascript中的数组对象

主宰稳场 提交于 2020-03-26 04:48:27
3 月,跳不动了?>>> 1.定义 要了解数组对象,首先我们先要了解什么是数组。所谓数组,就是相同数据类型的元素,按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量集合,这个名字称为数组,编号称为下标。 首先我们要定义一个数组,但是如何去定义数组呢,在JavaScript中定义数组的方法很多,常用的四种方法如下所示: 方法一 : var array = new Array(); array[0] = 1; array[1] = 2; array[2] = 3; 方法二: var array = new Array(3); array[0] = 1; array[1] = 2; array[2] = 3; 方法三: var array = new Array(1,2,3); 方法四: var array = [1,2,3] 针对于上面的四种方法,大家常用的为方法四。 2.操作 定义好一个数组之后,我们要操作数组中的元素,我们应该如何去操作呢,比如说如何设置固定位置的元素的值,如何添加元素,如何移除元素呢。其实对于JavaScript对于数组的,也就是array 的操作的方法还是很简单的。 我们给Array中的固定位置的元素赋值,可以通过数组名和下标进行赋值,如下。 var a = new Array(4); a[0] = 1, a[1] = 2,