javascript函数库(全)
js的常用函数
js的常用函数(原创实用版)目录一、JavaScript 函数分类二、常规函数1.alert 函数2.confirm 函数3.escape 函数4.eval 函数5.isNaN 函数6.parseFloat 函数7.parseInt 函数三、数组函数四、日期函数五、数学函数六、字符串函数正文JavaScript 是一种广泛应用于网页开发的编程语言,其中的函数是其重要的组成部分。
JavaScript 函数可以根据其用途和特性分为五类,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
一、JavaScript 函数分类1.常规函数:这类函数主要用于处理一些常见的任务,如显示警告对话框、确认对话框、转换字符编码等。
2.数组函数:这类函数主要用于处理数组数据,包括数组的创建、修改、遍历等操作。
3.日期函数:这类函数主要用于处理日期和时间相关的任务,如获取当前日期、格式化日期等。
4.数学函数:这类函数主要用于执行一些数学运算,如计算平方根、绝对值、乘法等。
5.字符串函数:这类函数主要用于处理字符串数据,包括字符串的创建、修改、遍历等操作。
二、常规函数1.alert 函数:用于显示一个带有 OK 按钮的警告对话框。
2.confirm 函数:用于显示一个带有 OK 和 Cancel 按钮的确认对话框。
3.escape 函数:用于将特殊字符转换为对应的 Unicode 编码。
4.eval 函数:用于计算一个表达式的结果。
5.isNaN 函数:用于测试一个值是否为非数字。
6.parseFloat 函数:用于将一个字符串转换为浮点数。
7.parseInt 函数:用于将一个字符串转换为整数。
以上就是 JavaScript 中的常用函数大全,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
pubu函数 -回复
pubu函数-回复搭建和使用Pubu函数的指南Pubu函数是一个强大而灵活的JavaScript函数库,可以提供丰富的功能和方法,方便开发者进行各种操作和处理。
本文将一步一步回答关于Pubu 函数的搭建和使用,帮助读者快速掌握这个函数库。
第一步:理解Pubu函数的作用和用途Pubu函数是一个通用的函数库,用于帮助开发者处理各种常见和繁琐的任务。
它包含了各种独立的函数和方法,可以用于处理字符串、数组、日期、数学计算等各种操作。
通过使用Pubu函数,开发者可以简化代码、提高效率、减少出错的机会。
第二步:了解Pubu函数的安装和导入方式Pubu函数是一个JavaScript函数库,可以通过多种方式进行安装和导入。
最常用的方式是使用CDN链接,只需将以下代码放置在HTML页面的<head>标签中:html<script src="另外,也可以将Pubu函数库下载到本地,并在HTML页面中引入:html<script src="path/to/pubu.js"></script>第三步:学习Pubu函数的基本用法Pubu函数库提供了大量的功能和方法,下面是一些常见的用法示例:1. 字符串操作:javascriptvar str = "Hello, Pubu!";var result = Pubu.toUpperCase(str);console.log(result); 输出"HELLO, PUBU!"2. 数组操作:javascriptvar arr = [1, 2, 3, 4, 5];var sum = Pubu.sum(arr);console.log(sum); 输出153. 日期操作:javascriptvar date = new Date();var formattedDate = Pubu.formatDate(date, "yyyy-MM-dd"); console.log(formattedDate); 输出当前日期的格式化字符串,例如"2022-01-01"4. 数学计算:javascriptvar num1 = 10;var num2 = 5;var product = Pubu.multiply(num1, num2);console.log(product); 输出50以上只是Pubu函数库的一部分功能和用法,开发者还可以根据具体需求,进一步探索和学习函数库提供的其他方法。
javaScript之函数function对象
javaScript之函数function对象⼀,普通函数 在javascript中,函数是⼀等公民,函数在javascript是⼀个数据类型,⽽⾮像C#或其他描述性语⾔那样仅仅作为⼀个模块来使⽤.函数的定义:function 函数名 (参数){ 函数体;return 返回值;}功能说明:可以使⽤变量、常量或表达式作为函数调⽤的参数函数由关键字function定义函数名的定义规则与标识符⼀致,⼤⼩写是敏感的返回值必须使⽤return⼀.函数调⽤形式函数调⽤形式是最常见的形式,也是最好理解的形式。
所谓函数形式就是⼀般声明函数后直接调⽤。
例如://1.js中的函数的声明记得:有函数的声明就⼀定有调⽤function add(){alert("函数被调⽤了");alert(this);//当前的this指向了window//执⾏的⼀些操作}//2.函数的执⾏add(); 或者下⾯的声明函数和调⽤函数的⽅式var add = function(){alert('函数被调⽤了');}add() 声明函数式带形式参数function add3(x,y){return x+y;}var sum = add3(4,5)alert(sum)⼆,创建对象的⼏种常见⽅式1.使⽤Object或对象字⾯量创建对象2.⼯⼚模式创建对象3.构造函数模式创建对象4.原型模式创建对象1,使⽤Object或对象字⾯量创建对象JS中最基本创建对象的⽅式:var student = new Object(); = "easy";student.age = "20"; 这样,⼀个student对象就创建完毕,拥有2个属性name以及age,分别赋值为"easy"和20。
如果你嫌这种⽅法有⼀种封装性不良的感觉。
来⼀个对象字⾯量⽅式创建对象var sutdent = {name : "easy",age : 20}; 这样看起来似乎就完美了。
JavaScript节流函数Throttle详解
JavaScript节流函数Throttle详解在浏览器 DOM 事件⾥⾯,有⼀些事件会随着⽤户的操作不间断触发。
⽐如:重新调整浏览器窗⼝⼤⼩(resize),浏览器页⾯滚动(scroll),⿏标移动(mousemove)。
也就是说⽤户在触发这些浏览器操作的时候,如果脚本⾥⾯绑定了对应的事件处理⽅法,这个⽅法就不停的触发。
这并不是我们想要的,因为有的时候如果事件处理⽅法⽐较庞⼤,DOM 操作⽐如复杂,还不断的触发此类事件就会造成性能上的损失,导致⽤户体验下降(UI 反映慢、浏览器卡死等)。
所以通常来讲我们会给相应事件添加延迟执⾏的逻辑。
通常来说我们⽤下⾯的代码来实现这个功能:var COUNT = 0;function testFn() { console.log(COUNT++); }// 浏览器resize的时候// 1. 清除之前的计时器// 2. 添加⼀个计时器让真正的函数testFn延后100毫秒触发window.onresize = function () {var timer = null;clearTimeout(timer);timer = setTimeout(function() {testFn();}, 100);};细⼼的同学会发现上⾯的代码其实是错误的,这是新⼿会犯的⼀个问题:setTimeout 函数返回值应该保存在⼀个相对全局变量⾥⾯,否则每次 resize 的时候都会产⽣⼀个新的计时器,这样就达不到我们发的效果了于是我们修改了代码:var timer = null;window.onresize = function () {clearTimeout(timer);timer = setTimeout(function() {testFn();}, 100);};这时候代码就正常了,但是⼜多了⼀个新问题 —— 产⽣了⼀个全局变量 timer。
这是我们不想见到的,如果这个页⾯还有别的功能也叫 timer 不同的代码之前就是产⽣冲突。
2024版JavaScript基础课件完整版
数组的定义与使用
数组的定义
数组是一种特殊的对象,用于存储一 系列有序的值。在JavaScript中,数 组可以包含任意类型的值,包括数字、 字符串、布尔值、对象等。
数组的使用
可以通过索引来访问数组中的元素,使 用push()和pop()方法添加或删除元素, 使用sort()和reverse()方法对数组进行 排序或反转等操作。
DOM结构 DOM将HTML或XML文档转化为一个树形结构,文档中 的每个元素、属性和文本都被视为一个节点(Node), 节点之间通过父子或兄弟关系形成树状结构。
节点类型
在DOM中,节点类型包括元素节点、属性节点、文本节 点、注释节点等。
访问和修改DOM元素
获取元素 修改元素内容 修改元素属性 修改元素样式
辑非等。
用于将右侧的值赋给左 侧的变量,如等于赋值、
加等于、减等于等。
控制流语句
条件语句
使用`if...else`语句根据条 件执行不同的代码块。
循环语句
使用`for`、`while`或 `do...while`语句重复执行 一段代码,直到满足特定 条件为止。
跳转语句
使用`break`或`continue` 语句在循环中提前结束或 跳过当前迭代。
常用内置对象与方法
Date对象
用于处理日期和时间,可以创建 日期实例、获取日期和时间信息、 进行日期计算等。
String对象
用于处理字符串,提供了许多字 符串操作方法,如charAt()、 indexOf()、replace()等。
Math对象
提供了一系列数学常数和函数, 如Math.PI、Math.random()、 Math.sin()等。
本地开发环境
JavaScript常用的方法和函数(setAttribute和getAttribute)
JavaScript常⽤的⽅法和函数(setAttribute和getAttribute)仅记录学习的新知识和⽰例,⽆⼲货。
1.setAttribute和getAttribute (Attribute:属性)setAttribute:为元素添加指定的属性,并为其赋值;如果指定的属性已经存在,则仅设置或改变它的值。
调⽤⽅法:element.setAttribute(attributeName,attributeValue)这是⼀个⽅法,⽆返回值,IE8及以下不⽀持。
getAttribute:返回指定属性名的属性值。
调⽤⽅法:element.getAttribute(attributeName)返回值为字符串总结:attributeName为元素的属性名,attributeValue为元素的属性值,⼆者均为字符型⽰例:1var comm={2//setAttr为对象comm的⼀个⽅法,⽤于给元素设置属性3//e为形参,代表元素名称;strName为形参,代表所设置属性的名称;strValue为形参,代表所设置属性的值4 setAttr:function(e,strName,strValue){5 e.setAttribute(strName,strValue);6 },7//getAttr为对象comm的⼀个⽅法,⽤于获取元素属性8//e为形参,代表元素名称;strName为形参,代表所设置属性的名称,⽆值9 getAttr:function(e,strName){10return e.getAttribute(strName);11 }12 }以上为⾃定义⼀个对象⽤于给元素设置属性的⽅法。
调⽤上诉对象实现元素属性的改变⽰例如下:1<!DOCTYPE html>2<html>3<head lang="en">4<meta charset="UTF-8">5<script type="text/javascript" src=../../js/system.js></script>6<title></title>7<style type="text/css">8 .red{9 width: 260px;10 height: 100px;11 line-height: 100px;12 text-align: center;13 border: solid 1px red;14 margin: auto;15 }16 .blue{17 width: 260px;18 height: 100px;19 line-height: 100px;20 text-align: center;21 border: solid 1px blue;22 margin: auto;23 }24</style>25</head>26<body>27<div id="a" class="red">hello,Js!</div>28<div id="b">hello,Js2!</div>29<br/>30<input type="button" value="点我变⾊" id="bitRed"/>31<script type="text/javascript">32//定义⼀个变量clasName,⽤于保存使⽤comm.getAttr获取的ID号为a的元素的class属性值33var clasName =comm.getAttr($$("a"),"class");34//调⽤comm.serAttr函数为ID号为b的元素设置class属性,属性值为clasName,既a的class属性值35 comm.setAttr($$("b"),"class",clasName);36//设定ID号为bitRed的元素的点击事件37 $$("bitRed").onclick=function(){38//为元素设置属性39//console.log()⽅法⽤于检测是否绑定成功,可删除40 console.log("123");41//为ID为a的元素设置样式,括号内实参分别对应形参e,strName,strValue42 comm.setAttr($$("a"),"class","blue");//属性名,属性值43//定义⼀个变量clasName,⽤于保存使⽤comm.getAttr获取的ID号为a的元素的class属性值44//此变量clasName为局部变量,与上⼀个不同45var clasName =comm.getAttr($$("a"),"class");46//调⽤comm.serAttr函数为ID号为b的元素设置class属性,属性值为clasName,既a的class属性值47 comm.setAttr($$("b"),"class",clasName);48 }49</script>50</body>51</html>View Code此⽰例的要求是为ID为a的元素设置样式,ID为b的元素样式跟随元素a的样式,点击按钮,元素a的样式发⽣改变,同时元素b的样式随之改变。
Dojo常用函数简介
当然,你也可以用 dojo.isString 来做类似的事情。 dojo.isAlien 用于检查所传参数是不是一个内建函数。 dojo.isObject 用于检查所传参数是不是一个对象。 以上就是部分 Dojo 对于 JavaScript 的基础扩展函数,在下一部分中,会介绍 Dojo 对面向 对象(OO)及包机制(package system)部分的一些常用函数。
dojo.hitch
dojo.hitch 是一个优雅的函数。它会返回一个在指定作用域下执行指定语句的函数。通过调 用这个函数,你可以很好地控制函数地执行,特别是在涉及到异步操作的时候。 比如下面 的例子: view plaincopy to clipboardprint? }); var myObj = { foo: "bar", method: function(someArg){ console.log(this.foo+" "+data); } }; dojo.xhrGet({ url: "/something.php", load: myObj.method }); 上面的例子无法正确的运行。你只会得到一个语义模糊的错误提示,比如: foo 是一些变 量未定义的错误。 原因是, 在如上例这样异步的回调函数中, 当你赋给它一个关联表的时候, 你改变了 ”foo”的作用域 .它的作用域不再关联到最初生成它的对象, xhr 的参数对象上。 要解决这个问题,你可以使用 hitch 来强制这个函数保留它原来的作用域。正确的写法应该 }; dojo.xhrGet({ url: "/something.php", load: myObj.method } var myObj = { foo: "bar", method: function(someArg){ console.log(this.foo+" "+data);
Javascript学习之函数(function)
Javascript学习之函数(function)在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,⽽且都与其他引⽤类型⼀样具有属性和⽅法。
由于函数是对象,因此函数名实际上也是⼀个指向函数对象的指针。
⼀函数的声明⽅式//1.函数声明⽅式function add(num1,num2){return num1+num2;}//2.函数表达式定义函数var add= function(num1,num2){ // 通过变量box即可引⽤函数;return num1+num2;}; // 注意函数末尾有⼀个分号,就像声明其他变量时⼀样; var another = add; // 使⽤不带圆括号的函数名是访问函数指针;⽽⾮调⽤函数; console.log(another(10,10)); //3.使⽤Function构造函数var add = new Function('num1','num2','return num1+num2');// 第三种⽅式不推荐,这种语法会导致解析两次代码(第⼀次解析常规JS代码,第⼆次解析传⼊构造函数中的字符串),从⽽影响性能;// 可以通过这种语法来理解"函数是对象,函数名是指针"的概念;通常来说,在全局作⽤域内声明⼀个对象,只不过是对⼀个属性赋值⽽已,⽐如上例中的add函数,事实上只是为全局对象添加了⼀个属性,属性名为add,⽽属性的值是⼀个对象,即function(x, y){return x+y;},理解这⼀点很重要,这条语句在语法上跟:var str = "This is a string";并没有什么区别。
都是给全局对象动态的增加⼀个新的属性,如此⽽已。
⼆作为值的函数// JS中的函数名本⾝就是变量,所以函数也可以作为值来使⽤;// 也就是说,不仅可以像传参数⼀样把⼀个函数传递给另⼀个函数,⽽且可以将⼀个函数作为另⼀个函数的结果返回;function box(sumFunction,num){ // ⽆论第⼀个参数传递进来的是什么函数,return sumFunction(num); // 它都会返回执⾏第⼀参数后的结果;}function sum(num){return num+10;}// 传递函数到另⼀个函数⾥; // 要访问函数的指针不执⾏函数的话,须去掉函数名后的圆括号;var result = box(sum,10); // =>20;三、函数的内部属性// 函数内部有两个特殊的对象:arguments和this;// 1.arguments:包含着传⼊函数中的所有参数,arguments并不是⼀个数组,只是与数组相似。
附录B JavaScript
附录B JavaScript语法手册1.JavaScript 函数表B-1 Java Script函数语言要素 描 述 GetObject函数返回文件中的Automation对象的引用。
ScriptEngine函数返回代表所使用的脚本语言的字符串。
ScriptEngineBuildVersion函数返回所使用的脚本引擎的编译版本号。
ScriptEngineMajorVersion函数返回所使用的脚本引擎的主版本号。
ScriptEngineMinorVersion函数返回所使用的脚本引擎的次版本号。
2.JavaScript 方法表B-2 JavaScript方法语言要素 描 述abs方法返回一个数的绝对值acos方法返回一个数的反余弦anchor方法在对象的指定文本两端加上一个带name属性的HTML锚点asin方法返回一个数的反正弦atan方法返回一个数的反正切atan2方法返回从X轴到点(y,x)的角度(以弧度为单位)atEnd方法返回一个表明枚举算子是否处于集合结束处的Boolean值big方法在String对象的文本两端加入HTML的<big>标识blink方法将HTML的<Blink>标识添加到String对象中的文本两端bold方法将HTML的<B>标识添加到String对象中的文本两端ceil方法返回大于或等于其数值参数的最小整数charAt方法返回位于指定索引位置的字符charCodeAt方法返回指定字符的Unicode编码compile方法将一个正则表达式编译为内部格式concat方法(Array)返回一个由两个数组合并组成的新数组concat方法(String)返回一个包含给定的两个字符串的连接的String对象cos方法返回一个数的余弦dimensions方法返回VBArray的维数escape方法对String对象编码,以便在所有计算机上都能阅读eval方法对JavaScript代码求值然后执行附录B JavaScript语法手册(续表)语言要素 描 述exec方法在指定字符串中执行一个匹配查找exp方法返回e(自然对数的底)的幂fixed方法将HTML的<TT>标识添加到String对象中的文本两端floor方法返回小于或等于其数值参数的最大整数fontcolor方法将HTML带Color属性的<Font>标识添加到String对象中的文本两端fontsize方法将HTML带Size属性的<Font>标识添加到String对象中的文本两端fromCharCode方法返回Unicode字符值的字符串getDate方法使用当地时间返回Date对象的月份日期值getDay方法使用当地时间返回Date对象的星期几getFullYear方法使用当地时间返回Date对象的年份getHours方法使用当地时间返回Date对象的小时值getItem方法返回位于指定位置的项getMilliseconds方法使用当地时间返回Date对象的毫秒值getMinutes方法使用当地时间返回Date对象的分钟值getMonth方法使用当地时间返回Date对象的月份getSeconds方法使用当地时间返回Date对象的秒数getTime方法返回Date对象中的时间getTimezoneOffset方法返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)getUTCDate方法使用全球标准时间(UTC)返回Date对象的日期值getUTCDay方法使用全球标准时间(UTC)返回Date对象的星期几getUTCFullYear方法使用全球标准时间(UTC)返回Date对象的年份getUTCHours方法使用全球标准时间(UTC)返回Date对象的小时数getUTCMilliseconds方法使用全球标准时间(UTC)返回Date对象的毫秒数getUTCMinutes方法使用全球标准时间(UTC)返回Date对象的分钟数getUTCMonth方法使用全球标准时间(UTC)返回Date对象的月份值getUTCSeconds方法使用全球标准时间(UTC)返回Date对象的秒数getVarDate方法返回Date对象中的VT_DATEgetYear方法返回Date对象中的年份indexOf方法返回在String对象中第一次出现子字符串的字符位置isFinite方法返回一个Boolean值,表明某个给定的数是否是有穷的isNaN方法返回一个Boolean值,表明某个值是否为保留值NaN(不是一个数)italics方法将HTML的<I>标识添加到String对象中的文本两端item方法返回集合中的当前项join方法返回一个由数组中的所有元素连接在一起的String对象545网页设计与网站建设完全实用手册(续表)语言要素 描 述lastIndexOf方法返回在String对象中子字符串最后出现的位置lbound方法返回在VBArray中指定维数所用的最小索引值link方法将带HREF属性的HTML锚点添加到 String 对象中的文本两端log方法返回某个数的自然对数match方法使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回max方法返回给定的两个表达式中的较大者min方法返回给定的两个数中的较小者moveFirst方法将集合中的当前项设置为第一项moveNext方法将当前项设置为集合中的下一项parse方法对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数parseFloat方法返回从字符串转换而来的浮点数parseInt方法返回从字符串转换而来的整数pow方法返回一个指定幂次的底表达式的值random方法返回一个0和1之间的伪随机数replace方法返回根据正则表达式进行文字替换后的字符串的复制reverse方法返回一个元素反序的Array对象round方法将一个指定的数值表达式舍入到最近的整数并将其返回search方法返回与正则表达式查找内容匹配的第一个子字符串的位置setDate方法使用当地时间设置Date对象的数值日期setFullYear方法使用当地时间设置Date对象的年份setHours方法使用当地时间设置Date对象的小时值setMilliseconds方法使用当地时间设置Date对象的毫秒值setMinutes方法使用当地时间设置Date对象的分钟值setMonth方法使用当地时间设置Date对象的月份setSeconds方法使用当地时间设置Date对象的秒值setTime方法设置Date对象的日期和时间setUTCDate方法使用全球标准时间(UTC)设置Date对象的数值日期setUTCFullYear方法使用全球标准时间(UTC)设置Date对象的年份setUTCHours方法使用全球标准时间(UTC)设置Date对象的小时值setUTCMilliseconds方法使用全球标准时间(UTC)设置Date对象的毫秒值setUTCMinutes方法使用全球标准时间(UTC)设置Date对象的分钟值setUTCMonth方法使用全球标准时间(UTC)设置Date对象的月份setUTCSeconds方法使用全球标准时间(UTC)设置Date对象的秒值setYear方法使用Date对象的年份546附录B JavaScript语法手册(续表)语言要素 描 述sin方法返回一个数的正弦slice方法(Array)返回数组的一个片段slice方法(String)返回字符串的一个片段small方法将HTML的<SMALL>标识添加到String对象中的文本两端sort方法返回一个元素被排序了的Array对象split方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回sqrt方法返回一个数的平方根strike方法将HTML的<STRIKE>标识添加到String对象中的文本两端sub方法将HTML的<SUB>标识放置到String对象中的文本两端subStr方法返回一个从指定位置开始并具有指定长度的子字符串subString方法返回位于String对象中指定位置的子字符串sup方法将HTML的<SUP>标识放置到String对象中的文本两端tan方法返回一个数的正切test方法返回一个Boolean值,表明在被查找的字符串中是否存在某个模式toArray方法返回一个从VBArray转换而来的标准JavaScript数组toGMTString方法返回一个转换为使用格林尼治标准时间(GMT)的字符串的日期toLocaleString方法返回一个转换为使用当地时间的字符串的日期toLowerCase方法返回一个所有的字母字符都被转换为小写字母的字符串toString方法返回一个对象的字符串表示toUpperCase方法返回一个所有的字母字符都被转换为大写字母的字符串toUTCString方法返回一个转换为使用全球标准时间(UTC)的字符串的日期ubound方法返回在VBArray的指定维中所使用的最大索引值unescape方法对用escape方法编码的String对象进行解码UTC方法返回1970年1月1日零点的全球标准时间(UTC)(或GMT)与指定日期之间的毫秒数valueOf方法返回指定对象的原始值3.JavaScript 对象表B-3 JavaScript对象语言要素 描 述ActiveXObject对象启用并返回一个Automation对象的引用Array对象提供对创建任何数据类型的数组的支持Boolean对象创建一个新的Boolean值Date对象提供日期和时间的基本存储和检索Dictionary对象存储数据键、项对的对象547网页设计与网站建设完全实用手册(续表)语言要素 描 述Enumerator对象提供集合中的项的枚举Error对象包含在运行JavaScript代码时发生错误的有关信息FileSystemObject对象提供对计算机文件系统的访问Function对象创建一个新的函数Global对象是一个内部对象,目的是将全局方法集中在一个对象中Math对象一个内部对象,提供基本的数学函数和常数Number对象表示数值数据类型和提供数值常数的对象Object对象提供所有的JavaScript对象的公共功能RegExp对象存储有关正则表达式模式查找的信息正则表达式对象包含一个正则表达式模式String对象提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串及确定其位置。
《JavaScript》PPT课件讲义(2024)
简化了函数表达式的写法 ,同时解决了this指向的问 题,使得代码更加简洁易 读。
使用反引号(``)来定义字符 串,可以包含变量和表达 式,使得字符串的拼接更 加直观和易读。
允许将数组或对象的属性 直接赋值给其他变量,简 化了数据的提取和操作过 程。
用于处理异步操作,通过 then和catch方法来指定异 步操作成功或失败时的回 调函数,避免了回调地狱 的问题。
2024/1/29
命名导出 使用export关键字来导出模块中 的指定成员,其他模块可以使用 import { member } from 'module'的语法来导入该成员。
导入所有成员 使用import * as alias from 'module'的语法来导入模块中的 所有成员,并使用别名来引用这 些成员。
2024/1/29
20
Web API接口调用方法
1
Web API概述
Web API是一组基于HTTP协议的应用程序接口 ,用于实现Web应用与服务器之间的数据交互。
2 3
接口调用方法
通过JavaScript的XMLHttpRequest或Fetch API发送HTTP请求,调用Web API接口并处理响 应结果。
游戏开发
使用JavaScript及其 相关技术(如 Canvas、WebGL等 )开发网页游戏或移 动游戏。
服务器端开发
使用Node.js等技术 进行服务器端编程, 处理请求、操作数据 库等。
2024/1/29
6
02
JavaScript语法与数据类型
2024/1/29
7
基本语法规则
2024/1/29
Байду номын сангаас
JavaScript中的Function(函数)对象
JavaScript中的Function(函数)对象JavaScript中的Function对象是函数,函数的用途分为3类:1.作为普通逻辑代码容器;2.作为对象方法;3.作为构造函数。
1.作为普通逻辑代码容器function multiply(x, y){return x*y;}函数multiply封装了两位数的乘法运算公式:var product = multiply(128,128); // product = 16384创建函数实例的方式有3种。
第一种是声明式,即像声明变量一样,将通过function(){}标识符创建的匿名函数直接赋值给变量,以该变量作为调用时的函数名称:var multiply = function(x, y){return x*y;}第二种是定义式,即以function关键字后跟函数名称及(){}来直接定义命名函数,前面第一个multiply函数就是通过定义式创建的。
第三种是构造函数式,即通过new运算符调用构造函数Function来创建函数。
这种方式极不常用,因此就不作介绍了。
在创建函数的3种方式中,声明式和定义式还存在细微的差别。
比如下列代码中的函数采用声明式:var example = function(){return 1;}example();var example = function(){return 2;}example();执行结果如下:12而如果采用定义式,即:function example(){return 1;}example();function example(){return 2;}example();那么会得到另一种结果:22即,在采用定义式创建同名函数时,后创建的函数会覆盖先创建的函数。
这种差别是由于JavaScript解释引擎的工作机制所导致的。
JavaScript解释引擎在执行任何函数调用之前,首先会在全局作用域中注册以定义式创建的函数,然后再依次执行函数调用。
js对函数的说明
js对函数的说明1.函数的定义及特点在JavaScript中,函数可以定义为一组指令及逻辑结构,用于完成特定的任务。
函数一般由关键字function开头,后面紧跟函数名,参数用括号括起来,参数之间用逗号分隔,然后是函数体,最后用return语句返回一个值。
函数的定义形式如下:```javascriptfunction functionName(parameter1, parameter2, …, parameterN){//执行的操作return result;}```其中,functionName是函数名,parameter1、parameter2、…、parameterN是参数,可以为0个或多个,result是返回值,可以为0个或1个。
函数的特点主要有以下几点:- 函数是一段可重复使用的代码块。
通过调用函数可以减少代码冗余,提高代码的可维护性和复用性。
- 函数的执行结果可以用return语句返回,可以作为表达式的值参与运算。
- 函数具有局部作用域,函数内部定义的变量在函数外部是无法访问的,保证了函数的封装性。
- 函数可以作为参数传递给其他函数,也可以作为返回值返回给其他函数,实现函数的组合和复合。
- 函数可以递归调用自己,实现较复杂的计算和算法。
2.函数的调用方式JavaScript中函数的调用方式分为三种:函数调用、方法调用和构造函数调用。
2.1 函数调用函数调用是最基本的调用方式,可以通过函数名直接调用函数。
函数调用语法如下:```javascriptfunctionName(argument1, argument2, …, argumentN);```其中,argument1、argument2、…、argumentN是实参,传入函数内部的参数值。
下面是一个简单的例子:```javascriptfunction add(a, b) {return a + b;}var result = add(1, 2);```add函数接收两个参数a和b,返回两个参数相加的结果。
全面理解Javascript中Function对象的属性和方法
全⾯理解Javascript中Function对象的属性和⽅法函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了⼀些属性和⽅法,下⾯我们逐⼀来介绍这些属性和⽅法,这对于理解Javascript的继承机制具有⼀定的帮助。
1. 属性(Properties)arguments获取当前正在执⾏的 Function 对象的所有参数,是⼀个类似数组但不是数组的对象,说它类似数组是因为其具有数组⼀样的访问性质及⽅式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。
还有就是arguments对象存储的是实际传递给函数的参数,⽽不局限于函数声明所定义的参数列表(length),⽽且不能显式创建 arguments 对象。
下⾯的Sample 说明了这些性质。
function testArg(a, b) {var actCount = arguments.length,expCount = testArg.length,result;result = "Expected arguments' count is " + expCount + ";<br/>";result += "Actual arguments' count is " + actCount + ".<br/>";result += "They are:<br/>";for (var i = 0; i < actCount; i++) {result += arguments[i] + ";<br/>";}if (arguments instanceof Array) {result += "arguments is an Array instance."} else if (arguments instanceof Object) {result += "arguments is an Object instance."}document.write(result);}testArg(1);//output result is:Expected arguments' count is 2;Actual arguments' count is 1.They are:1;arguments is an Object instance.length获取函数定义的参数个数,functionName.length不同于arguments.length,这点我们在上⾯有介绍。
RequireJS全面讲解
RequireJS 入门指南如今最常用的JavaScript库之一是RequireJS。
最近我参与的每个项目,都用到了RequireJS,或者是我向它们推荐了增加RequireJS。
在这篇文章中,我将描述RequireJS 是什么,以及它的一些基础场景。
异步模块定义(AMD)谈起RequireJS,你无法绕过提及JavaScript模块是什么,以及AMD是什么。
JavaScript模块只是遵循SRP(Single Responsibility Principle单一职责原则)的代码段,它暴露了一个公开的API。
在现今JavaScript开发中,你可以在模块中封装许多功能,而且在大多数项目中,每个模块都有其自己的文件。
这使得JavaScript开发者日子有点难过,因为它们需要持续不断的关注模块之间的依赖性,按照一个特定的顺序加载这些模块,否则运行时将会放生错误。
当你要加载JavaScript模块时,就会使用script标签。
为了加载依赖的模块,你就要先加载被依赖的,之后再加载依赖的。
使用script标签时,你需要按照此特定顺序安排它们的加载,而且脚本的加载是同步的。
可以使用async和defer关键字使得加载异步,但可能因此在加载过程中丢失加载的顺序。
另一个选择是将所有的脚本捆绑打包在一起,但在捆绑的时候你仍然需要把它们按照正确的顺序排序。
AMD就是这样一种对模块的定义,使模块和它的依赖可以被异步的加载,但又按照正确的顺序。
CommonJS, 是对通用的JavaScript模式的标准化尝试,它包含有AMD 定义,我建议你在继续本文之前先读一下。
在ECMAScript 6这个下一版本JavaScript 规范中,有关于输出,输入以及模块的规范定义,这些将成为JavaScript语言的一部分,而且这不会太久。
这也是关于RequireJS我们想说的东西。
RequireJS?你使用Visual Studio也可以通过Nuget获取。
JS函数调用(4种方法)
JS函数调用(4种方法)JavaScript中可以通过四种不同的方式来调用函数:1.函数式调用:这是最常见的函数调用方式,通过函数名后接一对圆括号来调用函数,并将参数传递给函数。
例如:```javascriptfunction greet(name)console.log("Hello, " + name);greet("Alice"); // 输出:Hello, Alice```在函数式调用中,函数名后面的圆括号中可以传递任意个数的参数。
2.方法调用:在JavaScript中,函数也可以绑定到对象的属性上,从而成为该对象的方法。
在这种情况下,我们可以使用对象名和属性名来调用函数。
例如:```javascriptvar person =name: "John",greet: functioconsole.log("Hello, " + );}};person.greet(; // 输出:Hello, John```在方法调用中,函数内部的`this`关键字指向调用该方法的对象。
3.构造函数调用:在JavaScript中,使用`new`关键字创建一个对象的过程称为构造函数调用。
构造函数是一个特殊的函数,它包含一个或多个属性和方法,并被用于创建新对象的模板。
例如:```javascriptfunction Person(name) = name;var person = new Person("Alice");console.log(); // 输出:Alice```在构造函数调用中,新创建的对象被称为实例,并且继承了构造函数的属性和方法。
4. apply和call方法调用:JavaScript提供了`apply`和`call`方法来调用函数,并指定函数内部的`this`关键字的值。
这两个方法可以让我们在调用函数时选择我们希望函数内部`this`关键字引用的对象。
JavaScript工具库(函数式编程)lodash
JavaScript⼯具库(函数式编程)lodash
⼀、什么是lodash?
lodash库是⼀个具有⼀致接⼝、模块化、⾼性能等特性的 JavaScript ⼯具库。
lodash是⼀个javascript库,也是Node JS的常⽤模块,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是⽬前 ECMAScript 尚未制定的规范,但同时被业界所认可的辅助函数。
⼆、lodash相关⽂档
API⽂档:
三、lodash模块组成
Array,适⽤于数组类型,⽐如填充数据、查找元素、数组分⽚等操作;
Collection,适⽤于数组和对象类型,部分适⽤于字符串,⽐如分组、查找、过滤等操作;
Function,适⽤于函数类型,⽐如节流、延迟、缓存、设置钩⼦等操作;
Lang,普遍适⽤于各种类型,常⽤于执⾏类型判断和类型转换;
Math,适⽤于数值类型,常⽤于执⾏数学运算;
Number,适⽤于⽣成随机数,⽐较数值与数值区间的关系;
Object,适⽤于对象类型,常⽤于对象的创建、扩展、类型转换、检索、集合等操作;
Seq,常⽤于创建链式调⽤,提⾼执⾏性能(惰性计算);
String,适⽤于字符串类型;
链接:。
javascript版的in_array函数(判断数组中是否存在特定值)
javascript版的in_array函数(判断数组中是否存在特定
值)
我们经常会⽤到这个⼀样逻辑,判断⼀个字符串或者数字是否在数组内,很多程序语⾔都有这样⼀样专门的函数,⽐如PHP 的in_array()。
那么JS有⽊有呢,很遗憾,JS⽊有这样的函数,于是想到伟⼤的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数
jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。
value要搜索的值。
array⼀个数组,通过它来搜索。
当然,处于学习,⾃⼰也去写了这样的函数:
复制代码代码如下:
function inArray1(needle,array,bool){
if(typeof needle=="string"||typeof needle=="number"){
for(var i in array){
if(needle===array[i]){
if(bool){
return i;
}
return true;
}
}
return false;
}
}
三个参数,在array中查找needle,bool为布尔量,如果为true则返回needle在array中的位置。
[JavaScript]自执行函数
[JavaScript]⾃执⾏函数最近在接触mui的时候,遇到了⼀段代码:1 (function($, doc) {2 $.init({3 statusBarBackground: '#f7f7f7'4 });5 $.plusReady(function() {6 plus.screen.lockOrientation("portrait-primary");7 var settings = app.getSettings();8 var state = app.getState();9 var mainPage = $.preload({10 "id": 'main',11 "url": 'tab-webview-main.html'12 });13 var main_loaded_flag = false;14 mainPage.addEventListener("loaded",function () {15 main_loaded_flag = true;16 });17 var toMain = function() {18 //使⽤定时器的原因:19 //可能执⾏太快,main页⾯loaded事件尚未触发就执⾏⾃定义事件,此时必然会失败20 var id = setInterval(function () {21 if(main_loaded_flag){22 clearInterval(id);23 $.fire(mainPage, 'show', null);24 mainPage.show("pop-in");25 }26 },20);27 };2829 // close splash30 setTimeout(function() {31 //关闭 splash32 plus.navigator.closeSplashscreen();33 }, 600);34 var loginButton = doc.getElementById('login');35 var accountBox = doc.getElementById('account');36 var passwordBox = doc.getElementById('password');37 var autoLoginButton = doc.getElementById("autoLogin");38 var regButton = doc.getElementById('reg');39 var forgetButton = doc.getElementById('forgetPassword');40 loginButton.addEventListener('tap', function(event) {41 var username = $('#account').val();42 var password = $('#password').val();4344 // LeanCloud - 登录45 // https:///docs/leanstorage_guide-js.html#⽤户名和密码登录46 er.logIn(username, password).then(function (loginedUser) {47 toMain();48 }, function (error) {49 // 导⼊AlertDialog类50 var AlertDialog = plus.android.importClass("android.app.AlertDialog");51 // 创建提⽰框构造对象,构造函数需要提供程序全局环境对象,通过plus.android.runtimeMainActivity()⽅法获取52 var dlg = new AlertDialog.Builder(plus.android.runtimeMainActivity());53 // 设置提⽰框标题54 dlg.setTitle("登陆失败");55 // 设置提⽰框内容56 dlg.setMessage("⽤户名或密码不正确!"+JSON.stringify(error));57 // 设置提⽰框按钮58 dlg.setPositiveButton("OK",null);59 // 显⽰提⽰框60 dlg.show();61 });62 });63 $.enterfocus('#login-form input', function() {64 $.trigger(loginButton, 'tap');65 });66 autoLoginButton.classList[settings.autoLogin ? 'add' : 'remove']('mui-active')67 autoLoginButton.addEventListener('toggle', function(event) {68 setTimeout(function() {69 var isActive = event.detail.isActive;70 settings.autoLogin = isActive;71 app.setSettings(settings);72 }, 50);73 }, false);74 regButton.addEventListener('tap', function(event) {75 $.openWindow({76 url: 'reg.html',77 id: 'reg',78 preload: true,79 show: {80 aniShow: 'pop-in'81 },82 styles: {83 popGesture: 'hide'84 },85 waiting: {86 autoShow: false87 }88 });89 }, false);90 forgetButton.addEventListener('tap', function(event) {91 $.openWindow({92 url: 'forget_password.html',93 id: 'forget_password',94 preload: true,95 show: {96 aniShow: 'pop-in'97 },98 styles: {99 popGesture: 'hide'100 },101 waiting: {102 autoShow: false103 }104 });105 }, false);106 //107 window.addEventListener('resize', function() {108 oauthArea.style.display = document.body.clientHeight > 400 ? 'block' : 'none';109 }, false);110 //111 var backButtonPress = 0;112 $.back = function(event) {113 backButtonPress++;114 if (backButtonPress > 1) {115 plus.runtime.quit();116 } else {117 plus.nativeUI.toast('再按⼀次退出应⽤');118 }119 setTimeout(function() {120 backButtonPress = 0;121 }, 1000);122 return false;123 };124 });125 }(mui, document));mui这就不懂了,为什么⼀个function函数要放在⼀个括号⾥⾯,括号⾥⾯还有⼀个括号(mui,document),看起来像是参数⼀样。
JavaScript中的map()函数
JavaScript中的map()函数概述Array.map() ⽅法返回⼀个新数组,数组中的元素为原始数组元素调⽤函数处理后的值,同时不会改变原来的数组。
⽤法Array.map(callback);⽰例//简单数组const arr = [1, 3, 4, 5, 6, 7, 8, 10];const cube = (num) => {return num * num;}const res = arr.map(cube);//[ 1, 9, 16, 25, 36, 49, 64, 100 ]// orconst res = arr.map((num)=>{return num * num;})//[ 1, 9, 16, 25, 36, 49, 64, 100 ]//对象数组和构造器const OjbArray = [{name: 'a',age: 18,isLikeEat: true,isLikeSleep: true}, {name: 'b',age: 19,isLikeEat: true,isLikeSleep: true}, {name: 'c',age: 22,isLikeEat: true,isLikeSleep: true}];const Person = (target) => {return {name: || 'default',age: target.age || 18,_eat: function() {console.log(target.isLikeEat ? 'i like eat' : 'i dont like eat');},_sleep: function() {console.log(target.isLikeSleep ? 'i like sleep' : 'i dont like sleep')}}}let newPersons = OjbArray.map(Person);console.log((newPerso// [ { name: 'a// age: 18,// _eat: [Function: _eat],// _sleep: [Function: _sleep] },// { name: 'b',// age: 19,// _eat: [Function: _eat],// _sleep: [Function: _sleep] },// { name: 'c',// age: 22,// _eat: [Function: _eat],// _sleep: [Function: _sleep] } ]注意⚠当和parseInt()函数配合使⽤将字符转成数字的时候,可直接['1', '2'].map(str => parseInt(str));//or['1', '2'].map(Number)本质上是⽤元素作为函数参数去调⽤函数,所以⽆需加上参数//这种写法是错误的const arr = [1, 3, 4, 5, 6, 7, 8, 10];const cube = (num) => {return num * num;}const res = arr.map(cube(num))原⽂链接:https:///ruffaim/article/details/82260280。
关于JavaScript的push()函数
关于JavaScript的push()函数push() ⽅法可向数组的末尾添加⼀个或多个元素,并返回新的长度。
返回值为把指定的值添加到数组后的新长度。
语法:arrayObject.push(newelement1,newelement2,....,newelementX)参数newelement1,必需。
要添加到数组的第⼀个元素。
参数newelement2,可选。
要添加到数组的第⼆个元素。
参数newelementX,可选。
可添加多个元素。
push() ⽅法可把它的参数顺序添加到 arrayObject 的尾部。
它直接修改 arrayObject,⽽不是创建⼀个新的数组。
push() ⽅法和 pop() ⽅法使⽤数组提供的先进后出栈的功能。
该⽅法会改变数组的长度。
1<script type="text/javascript">2var arr = new Array(3)3arr[0] = "Apple"4arr[1] = "Banana"5arr[2] = "Orange"6document.write(arr + "<br />")7document.write(arr.push("NowaMagic") + "<br />")8document.write(arr)9</script>程序运⾏结果:1Apple,Banana,Orange243Apple,Banana,Orange,NowaMagic测试数组的push与pop⽅法下⾯介绍push与pop函数的简单实⽤,请看下⾯代码:1<script type="text/javascript">2var arr = ["Aplle","Banana","Orange","Pear"];3var arr2 = [1,2,3,4];4arr.push("NowaMagic");5var popped = arr2.pop();6</script>数组对象的push与pop⽅法分别在数组的尾部添加与删除元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转载请注明出处-中国设计秀/*-------------- 函数检索--------------trim函数: trim() lTrim() rTrim()校验字符串是否为空: checkIsNotEmpty(str)校验字符串是否为整型: checkIsInteger(str)校验整型最小值: checkIntegerMinValue(str,val)校验整型最大值: checkIntegerMaxValue(str,val)校验整型是否为非负数: isNotNegativeInteger(str)校验字符串是否为浮点型: checkIsDouble(str)校验浮点型最小值: checkDoubleMinValue(str,val)校验浮点型最大值: checkDoubleMaxValue(str,val)校验浮点型是否为非负数: isNotNegativeDouble(str)校验字符串是否为日期型: checkIsValidDate(str)校验两个日期的先后: checkDateEarlier(strStart,strEnd)校验字符串是否为email型: checkEmail(str)校验字符串是否为中文: checkIsChinese(str)计算字符串的长度,一个汉字两个字符: realLength()校验字符串是否符合自定义正则表达式: checkMask(str,pat)得到文件的后缀名: getFilePostfix(oFile)-------------- 函数检索--------------*//*** added by LxcJie 2004.6.25* 去除多余空格函数* trim:去除两边空格lTrim:去除左空格rTrim: 去除右空格* 用法:* var str = " hello ";* str = str.trim();*/String.prototype.trim = function(){$)/g,return this.replace(/(^[\s]*)|([\s]* "");}String.prototype.lTrim = function(){return this.replace(/(^[\s]*)/g, "");}String.prototype.rTrim = function(){$)/g,return this.replace(/([\s]* "");}/********************************** Empty **************************************/ /***校验字符串是否为空*返回值:*如果不为空,定义校验通过,返回true*如果为空,校验不通过,返回false 参考提示信息:输入域不能为空!*/function checkIsNotEmpty(str){if(str.trim() == "")return false;elsereturn true;}//~~~/*--------------------------------- Empty --------------------------------------*//********************************** Integer *************************************//***校验字符串是否为整型*返回值:*如果为空,定义校验通过,返回true*如果字串全部为数字,校验通过,返回true*如果校验不通过,返回false 参考提示信息:输入域必须为数字!*/function checkIsInteger(str){//如果为空,则通过校验if(str == "")return true;$/.test(str))if(/^(\-?)(\d+)return true;elsereturn false;}//~~~/***校验整型最小值*str:要校验的串。
val:比较的值**返回值:*如果为空,定义校验通过,返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值,返回false 参考提示信息:输入域不能小于给定值!*/function checkIntegerMinValue(str,val){//如果为空,则通过校验if(str == "")return true;if(typeof(val) != "string")val = val + "";if(checkIsInteger(str) == true){if(parseInt(str,10)>=parseInt(val,10))return true;elsereturn false;}return false;}//~~~/***校验整型最大值*str:要校验的串。
val:比较的值**返回值:*如果为空,定义校验通过,返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值,返回false 参考提示信息:输入值不能大于给定值!*/function checkIntegerMaxValue(str,val){//如果为空,则通过校验if(str == "")return true;if(typeof(val) != "string")val = val + "";if(checkIsInteger(str) == true){if(parseInt(str,10)<=parseInt(val,10))return true;elsereturn false;}elsereturn false;}//~~~/***校验整型是否为非负数*str:要校验的串。
**返回值:*如果为空,定义校验通过,返回true*如果非负数,返回true*如果是负数,返回false 参考提示信息:输入值不能是负数!*/function isNotNegativeInteger(str){//如果为空,则通过校验if(str == "")return true;if(checkIsInteger(str) == true){if(parseInt(str,10) < 0)return false;elsereturn true;elsereturn false;}//~~~/*--------------------------------- Integer --------------------------------------*//********************************** Double ****************************************//***校验字符串是否为浮点型*返回值:*如果为空,定义校验通过,返回true*如果字串为浮点型,校验通过,返回true*如果校验不通过,返回false 参考提示信息:输入域不是合法的浮点数!*/function checkIsDouble(str){//如果为空,则通过校验if(str == "")return true;//如果是整数,则校验整数的有效性if(str.indexOf(".") == -1){if(checkIsInteger(str) == true)return true;elsereturn false;}else{$/g.test(str))if(/^(\-?)(\d+)(.{1})(\d+)return true;elsereturn false;}}//~~~/***校验浮点型最小值*str:要校验的串。
val:比较的值**返回值:*如果为空,定义校验通过,返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值,返回false 参考提示信息:输入域不能小于给定值!*/function checkDoubleMinValue(str,val){//如果为空,则通过校验if(str == "")return true;if(typeof(val) != "string")val = val + "";if(checkIsDouble(str) == true){if(parseFloat(str)>=parseFloat(val))return true;elsereturn false;}elsereturn false;}//~~~/***校验浮点型最大值*str:要校验的串。
val:比较的值**返回值:*如果为空,定义校验通过,返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值,返回false 参考提示信息:输入值不能大于给定值!*/function checkDoubleMaxValue(str,val){//如果为空,则通过校验if(str == "")return true;if(typeof(val) != "string")val = val + "";if(checkIsDouble(str) == true){if(parseFloat(str)<=parseFloat(val))return true;elsereturn false;}elsereturn false;}//~~~/***校验浮点型是否为非负数*str:要校验的串。
**返回值:*如果为空,定义校验通过,返回true*如果非负数,返回true*如果是负数,返回false 参考提示信息:输入值不能是负数!*/function isNotNegativeDouble(str){//如果为空,则通过校验if(str == "")return true;if(checkIsDouble(str) == true){if(parseFloat(str) < 0)return false;elsereturn true;}elsereturn false;}//~~~/*--------------------------------- Double ---------------------------------------*//********************************** date ******************************************//***校验字符串是否为日期型*返回值:*如果为空,定义校验通过,返回true*如果字串为日期型,校验通过,返回true*如果日期不合法,返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)*/function checkIsValidDate(str){//如果为空,则通过校验if(str == "")return true;var pattern = $/g;/^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})if(!pattern.test(str))return false;var arrDate = str.split("-");if(parseInt(arrDate[0],10) < 100)arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);if(date.getYear() == arrDate[0]&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""&& date.getDate() == arrDate[2])return true;elsereturn false;}//~~~/***校验两个日期的先后*返回值:*如果其中有一个日期为空,校验通过, 返回true*如果起始日期早于等于终止日期,校验通过,返回true*如果起始日期晚于终止日期,返回false 参考提示信息:起始日期不能晚于结束日期。