我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型。 代码如下:function isNumber(obj) {return typeof obj === number }这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让人感到不爽,毕竟用isNumber判断通过后谁也不会用NaN去做算术运算。那改进一下,用Object.prototype.toString试试。 代码如下:function isNumber(obj) { return Object.prototype.toString.call(obj) ...
this 可以说是 javascript 中最耐人寻味的一个特性,就像高中英语里各种时态,比如被动时态,过去时,现在时,过去进行时一样,无论弄错过多少次,下一次依然可能弄错。本文启发于《你不知道的JavaScript上卷》,对 javasript 中的 this 进行一个总结。学习 this 的第一步就是明白 this 既不是指向函数自身也不指向函数的作用域。this 实际上是在函数被调用时发生的绑定,它指向什么地方完全取决于函数在哪里被调用。默认绑定在 jav...
本文针对开发项目中遇到的问题,进行了汇总问题1:如何选择select的option里面的值? 首先会用到一个方法 onchange();这个方法主要用于触发,选择框内容改变时间实现代码:???? ????安静 ????晴天 ????七里香 ?? ?? ????function test (e) { ??????var e = event ? event : window.event; ??????alert(e.target.value); ????} ? 你可以到这里运行并查看效果 问题2:可是在开发中,我们一般选择了内容只是为了显示,而真正要做的...
在说apply、call和bind区别之前还是先总结一下三者的相似之处:1、都是用来改变函数的this对象的指向的。2、第一个参数都是this要指向的对象。3、都可以利用后续参数传参。那么他们的区别在哪里的,先看一个例子。 var xw = {name : "小王",gender : "男",age : 24,say : function() {alert(this.name + " , " + this.gender + " ,今年" + this.age); } } var xh = {name : "小红",gender : "女",age : 18 } xw.say...
javascript中对Date类型的常用操作小结/** 3. * 日期时间脚本库方法列表: 4. * (1)Date.isValiDate:日期合法性验证 5. * (2)Date.isValiTime:时间合法性验证 6. * (3)Date.isValiDateTime:日期和时间合法性验证 7. * (4)Date.prototype.isLeapYear:判断是否闰年 8. * (5)Date.prototype.format:日期格式化 9. * (6)Date.stringToDate:字符串转成日期类型 10. * (7)Date.daysBetween:计算两个日期的天...
一、document.formName.item(”itemName”) 问题 问题说明:IE下,可以使用 document.formName.item(”itemName”) 或 document.formName.elements ["elementName"];Firefox 下,只能使用document.formName.elements["elementName"]。 解决方法:统一使用document.formName.elements["elementName"]。 二、集合类对象问题 问题说明:IE下,可以使用 () 或 [] 获取集合类对象;Firefox下,只能使用 [ ]获取集合类对象。 解决方法...
本文实例讲述了javascript中JSON.parse()与eval()解析json的区别。分享给大家供大家参考,具体如下: JSON(JavaScript Object Notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是Javascript原生格式,这意味着在javascript中处理JSON数据 基本格式:varjsonData={"data1":"Hello,","data2":"world!"}调用方法jsonData.data1,jsonData.data2 很多json数据存入数组var jsonData=[{...
这篇文章主要讲了JavaScript中鼠标的拖动事件,感兴趣的朋友可以参考一下,希望可以帮助到你!第一步,定义被拖放的元素为绝对定位或者相对定位第二部,清楚几个坐标的概念:按下鼠标时指针坐标(event.pageX和event.pageY),松开鼠标时指针坐标,拖放元素的原始坐标,拖放后元素的坐标<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #box{position:absolute;width:200px;height:...
以下我们就用这个属性来为String对象添加三个方法:Trim,LTrim,RTrim(作用和VbScript中的同名函数一样) 代码如下:String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); } String.prototype.Rtrim = function() { return this.replace(/(\s*$)/g, ""); } 怎么样,简单吧,下面看一个使用的实例: 代码如下...
一、引言 在C#和Java语言中,面向对象是以类的方式实现的,特别是继承这个特性,类的方式继承表现出了强大的功能,而且也易于学习。JavaScript不是纯的面向对象的语言,而是基于对象的语言,对象的继承是以原型函数的形式继承的,很多初学者刚开始接触的时候不太理解,但是JavaScript这种以原型函数的形式实现面向对象技术,不仅是可行的,而且还为面向对象技术提供了动态继承的功能,本文主要讨论了JavaScript的面向对象技术。...
注:好久没写了,今天把我在公司内网写的文章拷一份,出来露露脸,刚转Web开发,所以开始学javascript! 在引入命名空间之前,一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突,在一个公司内部项目组之间可以通过命名预定(比如加前缀等)解决这个问题,但是把视线放到整个软件开发领域,在当今协作开发相当盛行的时代,这个问题却依然存在。在使用多个第三方框架或类库的时候,你唯一能作的就是祈祷它们的命名不要...
在存在这么一个变量 tt, 它满足下面的代码. 代码执行完毕后 ,errCount=0 而且 断言函数也从未 alert 信息 代码如下: 代码如下:结果为new Boolean(false) 二、0||new Boolean(false)||true 这会是什么结果?很多人不注意就会以为结果为true,但这是不对的。 先说答案:结果同上 首先:0是一个常数,刚好是无意义之一,故继续;new Boolean(false)为动态对象,有意义;这里已经找到有意义的表达式,故不再往下运算了。所以结果同上。...
push 方法将新元素添加到一个数组中,并返回数组的新长度值。 arrayObj.push([item1 [item2 [. . . [itemN ]]]])参数arrayObj 必选项。一个 Array 对象。 item, item2,. . . itemN 可选项。该 Array 的新元素。说明push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。示例 var arrayObj = new Array(0,1,2,3,4);arra...
层的开发在实际应用中比较重要,比如漂浮广告等等,我这里简单探讨一下。 1. 控制层的显示或隐藏 两种办法,其实都是控制样式的。 办法一:控制 display 属性 function show(status) { document.getElementById("div1").style.display = status; } 这是一层,能看见吗,呵呵. 显示 关闭 办法二 控制 visibility 属性 function show(status) { document.getElementById("div1").style.visibilit...
JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false. 今天我碰到了一个问题: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]这里两个测试的字符串应该都满足正则表达式中的模式,返回 true. 可是测试结果却依次是:true, false. 我估计问题的原因可能是因为 RegExp 对象是有状态的,并且在 test 方法的执行时会在某个步骤中利用到...