如何将JavaScript对象转换成自己需要的对象类型
在对象到数字的转换过程中,它会首先尝试valueOf()方法:
如果对象具有valueOf()方法,后者返回一个原始值,则JavaScript将这个原始值转换为数字(如果需要的话)并返回这个数字。
否则,如果对象具有toString()方法,后者返回一个原始值,则javaScript将其转换并返回
否则,JavaScript抛出一个类型错误异常。
对西那个转换为数字的细节解释了为什么空数组会转换为数字0以及为什么具有单个元素的数组同样会转换成一个数字。数组继承了默认的valueOf()方法,这个方法返回一个
对象
而不是一个原始值,因此数组到数字的转换则调用toString()方法。空数组转换成空字符,空字符串转换成数字0。从上面《JavaScript权威指南》中的解释可以看出,因为obj3重写了对象toString的方法,其中返回了一个数组(对象),而不是原始值,所以这时候无论与2或者字符串比较都会报错。
js的五大核心对象
分别是数组(Array)对象,字符串(string)对象,日期(date)对象,数字对象(Number)和布尔(bool)这五大对象。
数组对象的作用是:使用单独的变量名来存储一系列的值,具有length长度属性,还具有添加和删除元素四种方法
字符串对象:是在程序中最常用的一个对象类型,所有的对象都可以通过string方法转换成字符串对象。
日期对象:用来对日期数据的操作,包括日期的加减运算,日期的格式化运算
对象对象:用来存储数字进行数字逻辑运算,与许多其他编程语言不同,JavaScript 不会定义不同类型的数,比如整数、短的、长的、浮点的等等
布尔对象:在程序中用来表示真假标志,通常用做在判断条件里面。
除了以上这五大核心对象,js还有其他内置对象,比如Math对象,Json对象,还有函数也是一种对象。
javascript Event对象详解及使用示例
Event代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态。一旦事件发生,便会生成Event对象,如单击一个按钮,浏览器的内存中就产生相应的 event对象。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
【event属性】:
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y
示例:
<SCRIPT LANGUAGE="JScript">
function checkCancel() {
if (window.event.shiftKey)
window.event.cancelBubble = true;
}
function showSrc() {
if (window.event.srcElement.tagName == "IMG")
alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" SRC="sample.gif">
还没有评论,来说两句吧...