var

计算年龄的函数方法

孤人 提交于 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

解决ie8不兼容getElementsByClassName

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-26 10:58:49
  前端新人,第一篇博客,留给我调试的第一个ie兼容性问题getElementsByClassName,昨晚写到4点,中午起来调到现在,总算有个影子了    //用到的ie8支持的方法 var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSibling; //获得s的下一个兄弟节点 var ps=s.previousSibling; //得到s的上一个兄弟节点 var fc=s.firstChild; //获得s的第一个子节点 var lc=s.lastChild; //获得s的最后一个子节点 .tagName   //返回值为大写的字符串 var GetElementsByClassName = function(parentNodeName,className,TagName,level,bool){  //parentNodeName : 目标元素的有ID的父辈元素  //className : 目标元素的类名  //TagName : 目标元素的标签名  //level : 目标元素为parentNodeName的第几代子节点  //bool : 布尔值,如果目标元素为直接parentNodeName所有子节点为真,否则为假 var classArray =

微信小程序通过二维码获取参数运行

大兔子大兔子 提交于 2020-03-26 09:41:56
小程序开发过程中会遇到参数id会通过二维码获取,然后执行接口调取数据,但是难免会遇到带过来的参数出现乱码 ,这样就需要解码,多个参数时就要进行处理取我们需要的字段值: 扫二维码获取的参数如下: onLoad: function (option) { console.log(option) // }    接下来进行解码,转成正常对象形式进行取值 把{scene: "dealerid=395&surveyid=2"} 转成{dealerid: "395", surveyid: "2"} 这种形式 var obj = {scene: "dealerid=395&surveyid=2"} var arr1=[]; var arr = obj.scene.split('&'); var obj1 ={}; var obj2 ={}; for(var i=0;i<arr.length;i++){ newArr = arr[i].split('='); for(var j=0;j<newArr.length;j++){ if(i==0&&j==0){ obj1.dealerid= newArr[1] } if(i==1&&j==1){ obj2.surveyid= newArr[1] } } } var obj = Object.assign(obj1, obj2); console.log

Javascript模块化编程

半城伤御伤魂 提交于 2020-03-26 06:49:49
1.原始写法 模块就是实现特定功能的一组方法。 只要把不同的函数(以及记录状态的变量)简单的放在一起,就算是一个模块。 1 function m1(){ 2   //... 3 } 4 function m2(){ 5   //... 6 } 上面的m1()和m2(),组成一个模块。使用的时候,直接调用。 这种写法的缺点:“污染”了全局变量,无法保证不与其他模块变量名发生冲突,而且模块成员之间看不出直接关系。 2.对象写法 为了解决上面的缺点,可以把模块写成一个对象的形式,所有的模块成员都放在对象里: var module1 = new Object({   _count : 0,   m1 : function (){     //...   },   m2 : function (){     //...   } }); 上面的函数m1()和m2(),都封装在module1对象里 ,使用的时候就是调用这个对象的属性。 module1.m1() 但是这样的写法会暴露所有模块成员,内部状态可以被外部改写。 module1._count = 5; 3.立即执行函数写法 使用"立即执行函数"(Immediately-Invoked Function Expression,IIFE),可以达到不暴露私有成员的目的。 var module1 = (function(){   var

模块化编程1

孤人 提交于 2020-03-26 06:47:47
一,原始写法 模块就是实现特定功能的一组方法。 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。 function m1 () { //..... } function () { //...... } 这是最初级的写法,这样m1(),m2(),组成一个模块。使用的时候,直接调用就行了, 这种做法的缺点很明显:“污染”了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间看不出直接关系。 二,对象写法 为了解决上面的缺点,可以把模块写成一个对象,所有的模块成员都放到这个对象里面。 varmodule1 = newObject({ _count :0, m1 : function() { }, m2 : function() { } }); 上面的函数m1()和m2(),都封装在module1对象里。使用的时候,就是调用这个对象的属性。 module1.m1(); 但是,这样的写法会暴露所有的模块成员,内部状态可以被外部改写。比如外部代码可以直接改变内部计数器的值。 module1._count = 5; 三,立即执行函数写法 使用“立即执行函数”,可以达到不暴露私有成员的目的。 var module1=(function() { var _count = 0; var m1 = function() { console.log("m1"); };

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,

What is the scope of variables in JavaScript?

亡梦爱人 提交于 2020-03-26 04:03:55
问题 What is the scope of variables in javascript? Do they have the same scope inside as opposed to outside a function? Or does it even matter? Also, where are the variables stored if they are defined globally? 回答1: TLDR JavaScript has lexical (also called static) scoping and closures. This means you can tell the scope of an identifier by looking at the source code. The four scopes are: Global - visible by everything Function - visible within a function (and its sub-functions and blocks) Block -

数组排序

試著忘記壹切 提交于 2020-03-26 02:32:08
冒泡排序 // 1 定义一个函数 bubble function bubble(arr) { for(var i=0; i<arr.length-1; i++) { for(var j=0;j<arr.length-i-1; j++) { if(arr[j]>arr[j+1]) { s = arr[j] arr[j] = arr[j+1] arr[j+1] = s } } } return arr } var arr = [2,1,3,5,9,6,8] console.log(bubble(arr)) // [ 1, 2, 3, 5, 6, 8, 9 ] sort排序 // 1 对字母排序 var arr = ['a','c','b'] console.log(arr.sort()) // ['a','b','c'] // 2 对数字排序 function sortNum(a, b) { return a - b } var arr2 = [1,10,2] // 通过给 sort 传入函数 可以对数字进行排序 console.log(arr2.sort(sortNum)) // [1,2,10] 来源: https://www.cnblogs.com/0x29a/p/11232201.html

js 数组 数组 最大值、最小值 算法(转载)

ぃ、小莉子 提交于 2020-03-26 02:31:34
一:https://www.cnblogs.com/zhouyangla/p/8482010.html 1.排序法 首先我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值。 排序我们会用到数组的 sort 方法。 var arr = [12,56,25,5,82,51,22]; arr.sort(function (a, b) { return a-b; }); // [5,12,22,25,51,56] var min = arr[0]; // 5 var max = arr[arr.length - 1]; // 56 2.假设法 假设当前数组中的第一个值是最大值,然后拿这个最大值和后面的项逐一比较,如果后面的某一个值比假设的值还大,说明假设错了,我们把假设的值进行替换。最后得到的结果就是我们想要的。 // 获取最大值: var arr = [22,13,6,55,30]; var max = arr[0]; for(var i = 1; i < arr.length; i++) { var cur = arr[i]; cur > max ? max = cur : null } console.log(max); // 55 // 获取最小值: var arr = [22,13,6,55,30]; var min

javascript 数组 shuffle 洗牌 打乱顺序

99封情书 提交于 2020-03-26 02:31:08
* php shuffle 打乱数组顺序 Array.prototype.shuffle = function () { "use strict"; var a = [], b = [], n = this.length, i, j, seq; // @b: a[i] element exists? for (i = 0; i < n; i++) { b[i] = 0; } function _getIndex(b, seq) { var n = b.length; for (i = 0; ; i = (i+1)%n) { if (!b[i]) { if (seq===0) { break; } seq--; } } return i; } while (n-->0) { seq = Math.floor(3*this.length * Math.random()); j = _getIndex(b, seq); a.push(this[j]); b[j] = 1; } return a; };    test: // var aa = ['DevTools', 'PHP', 'PHP_Framework', 'EclipsePDT', 'Laravel', 'PHPStorm', 'ThinkPHP5']; var aa = [0,1,2,3,4,5,6,7,8,9]; var