js

JS基础——原型与原型链

青春壹個敷衍的年華 提交于 2020-02-24 21:59:58
前言 最近在整理一些js的基础知识刚好整理到原型 构造函数 每个构造函数(constructor)都有一个原型对象(prototype), 原型对象都包含一个指向构造函数的指针, 而实例(instance)都包含一个指向原型对象的内部指针. 先来看一个例子 function Person(name, age, job) { this.name = name this.age = age this.job = job this.sayName = function() { alert(this.name) } } var person1 = new Person('Zaxlct', 28, 'Engineer') var person2 = new Person('Mick', 23, 'Doctor') 上面的例子中 person1 和 person2 都是 Person 的实例。这两个实例都有一个 constructor (构造函数)属性,该属性(是一个指针)指向 Person。 即: console.log(person1.constructor == Person) //true console.log(person2.constructor == Person) //true prototype 每个构造函数都有一个 prototype 属性

JS教程:日期格式转换函数

自闭症网瘾萝莉.ら 提交于 2020-02-24 21:15:43
<mce:script type="text/javascript"><!-- function str2date(str){ var d=null; var reg=/^(/d{4})-(/d{2})-(/d{2}) (/d{2}):(/d{2}):(/d{2})/.(/d+)$/ if(arr=str.match(reg))d=new Date(Number(arr[1]),Number(arr[2])-1,Number(arr[3]),Number(arr[4]),Number(arr[5]),Number(arr[6]),Number(arr[7])) return d; } function date2str(d){ var ret=d.getFullYear()+"-" ret+=("00"+(d.getMonth()+1)).slice(-2)+"-" ret+=("00"+d.getDate()).slice(-2)+" " ret+=("00"+d.getHours()).slice(-2)+":" ret+=("00"+d.getMinutes()).slice(-2)+":" ret+=("00"+d.getSeconds()).slice(-2)+"." return ret+d.getMilliseconds() } if(d=str2date("2002

JS判断输入日期的正确性

一笑奈何 提交于 2020-02-24 21:13:19
< script language = javascript > function strDateTime(str){ var reg = /^ (\d{ 1 , 4 })( - \ / )(\d{ 1 , 2 })\ 2 (\d{ 1 , 2 })$ / ; var r = str.match(reg); if (r == null ) return false ; var d = new Date(r[ 1 ], r[ 3 ] - 1 ,r[ 4 ]); var newStr = d.getFullYear() + r[ 2 ] + (d.getMonth() + 1 ) + r[ 2 ] + d.getDate() return newStr == str } alert(strDateTime( " 2002-1-31 " )) alert(strDateTime( " 2002-1-41 " )) </ script > < script language = javascript > function strDateTime(str){ var reg = /^ (\d{ 1 , 4 })( -| \ / )(\d{ 1 , 2 })\ 2 (\d{ 1 , 2 }) (\d{ 1 , 2 }):(\d{ 1 , 2 }):(\d{ 1 , 2 })$ / ; var

cocos2d-x JS 字符串

大城市里の小女人 提交于 2020-02-24 18:51:58
1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。 strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。 如果指定位置没有字符,将返回NaN。 例如: var str = "ABC"; str.charCodeAt(0); 结果:65 2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 String.fromCharCode([code1[,code2...]]) 说明: code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。 例如: String.fromCharCode(65,66,112); 结果:ABp 3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。 strObj.charAt(index) 说明: index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。 例如: var str = "ABC"; str.charAt(1); 结果:B 4、slice方法返回字符串的片段。 strObj.slice(start[,end]) 说明: start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length

js三种截取字符串的方式

你。 提交于 2020-02-24 12:49:11
JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "rcinn.cn"; 使用一个参数 alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn" alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn" 使用两个参数 alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"cinn" alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"cinn" 如果只用一个参数并且为0的话,那么返回整个参数 alert(stmp.slice(0));//返回整个字符串 alert(stmp.substring(0));//返回整个字符串 返回第一个字符 // 1.位位截取 alert(stmp.slice(0,1));//返回"r" alert(stmp.substring(0,1));//返回"r" //上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也一样, //但当参数为负数时,他们的返回值却不一样,看下面的例子 alert(stmp.slice(2,-5));//返回"i"

js读取cookie 根据cookie名称获取值、赋值

孤者浪人 提交于 2020-02-24 09:50:34
借鉴:原作者 https://blog.csdn.net/zouxuhang/article/details/80548417 //方法1 //存在问题:如果cookie中存在 aaaname=aa;name=bb 获取name的值就会出现错误 function getCookie(c_name){ if (document.cookie.length>0){ //判断cookie是否存在 //获取cookie名称加=的索引值 var c_start = document.cookie.indexOf(c_name + "="); if (c_start!=-1){ //说明这个cookie存在 //获取cookie名称对应值的开始索引值 c_start=c_start + c_name.length+1 //从c_start位置开始找第一个分号的索引值,也就是cookie名称对应值的结束索引值 c_end=document.cookie.indexOf(";",c_start) //如果找不到,说明是cookie名称对应值的结束索引值就是cookie的长度 if (c_end==-1) c_end=document.cookie.length //unescape() 函数可对通过 escape() 编码的字符串进行解码 //获取cookie名称对应的值,并返回 return

js读取cookie 根据cookie名称获取值、赋值

强颜欢笑 提交于 2020-02-24 09:06:29
借鉴:原作者 https://blog.csdn.net/zouxuhang/article/details/80548417 //方法1 //存在问题:如果cookie中存在 aaaname=aa;name=bb 获取name的值就会出现错误 function getCookie(c_name){ if (document.cookie.length>0){ //判断cookie是否存在 //获取cookie名称加=的索引值 var c_start = document.cookie.indexOf(c_name + "="); if (c_start!=-1){ //说明这个cookie存在 //获取cookie名称对应值的开始索引值 c_start=c_start + c_name.length+1 //从c_start位置开始找第一个分号的索引值,也就是cookie名称对应值的结束索引值 c_end=document.cookie.indexOf(";",c_start) //如果找不到,说明是cookie名称对应值的结束索引值就是cookie的长度 if (c_end==-1) c_end=document.cookie.length //unescape() 函数可对通过 escape() 编码的字符串进行解码 //获取cookie名称对应的值,并返回 return

浅浅谈Js闭包

丶灬走出姿态 提交于 2020-02-24 08:04:13
闭包就是能够读取其他函数内部变量的函数。由于在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。 要了解闭包,首先了解函数,函数分为两个阶段。 函数定义阶段: 在内存中开辟一个存储空间 把函数体内的代码当作字符串一摸一样的放在这个空间中,碰到的所有变量都不进行解析 把这个空间地址赋值给函数名(变量名) 函数调用阶段 按照函数名(变量名)找到对应的存储空间 从新开辟一个函数 执行空间 在这个执行空间里面进行形参赋值 在这个执行空间里面进行预解析 把函数存储空间的代码复制一份到执行空间里面执行一遍 执行完毕之后, 这个开辟出来的执行 空间销毁 注意: 每一次函数调用都会开辟一个执行空间 调用一次,开辟一个执行空间,执行完毕代码销毁。 再次调用的时候,再次开辟一个执行空间,执行完毕代码销毁 闭包: function a(){ //这个num变量就是函数a的私有变量 var num = 100; return function b(){ console.log(num); } } //res接受的就是函数a内部返回的一个复杂数据类型(函数b) var res = a(); //res接受的就是函数b的执行空间的地址,就是函数a执行以后的返回值 res() // 当 res 调用的时候, 打印 num // 打印出来的就是 a

浅谈js闭包

萝らか妹 提交于 2020-02-24 08:02:07
什么是闭包? 在了解闭包之前,让我们来回顾一下什么是变量作用域? 变量根据作用域的不同分为两种:全局变量(在函数外部)和局部变量(在函数内部)。 函数内部可以使用全局变量。 函数外部不可以使用局部变量。 当函数执行完毕,本作用域内的局部变量会销毁。 闭包的含义 闭包(closure)是指有权访问另一个函数作用域中变量的函数,是JavaScript中,函数的一种高级应用。 简单理解就是,一个作用域可以访问另外一个函数内部的局部变量。 生成闭包的三个必要条件(三个条件缺一不可) 在函数A内部直接或者间接返回一个函数B B函数内部使用着A函数的私有变量(私有数据) A函数外部有一个变量接收着函数B 闭包函数会形成一个不会销毁的函数空间 function a ( ) { //num变量就是函数a的私有变量 var num = 100 ; return function ( b ) { console . log ( num ) } } //res 接收的是a函数执行以后的返回值 //res接收的就是函数a内部返回的一个复杂数据类型(函数b) // =>导致函数a的执行空间不会销毁 //res 随时可以是一个函数a里面返回的函数b // =>res可以随时调用 res ( ) //当res调用的时候,打印num,打印出来的就是a函数内部的私有变量num的值

转载 js函数声明和函数表达式

南楼画角 提交于 2020-02-24 07:21:30
在js中函数有两种表达方式。1 函数声明 2 函数表达式 函数声明 function sayname(){ alert("li lei"); } 函数表达式 var sayname=function(){ alert("lilei"); } 函数声明会进行函数提升,但是函数表达式不能。 函数提升比变量提升优先级要高。 这是一篇比较好的文章 --------------------- 作者:qq_30022055 来源:CSDN 原文:https://blog.csdn.net/qq_30022055/article/details/79733973 版权声明:本文为博主原创文章,转载请附上博文链接! 来源: https://www.cnblogs.com/Jeely/p/10714918.html