JavaScript更改原始对象valueOf的方法

本文实例讲述了JavaScript更改原始对象valueOf的方法。分享给大家供大家参考。具体分析如下:

JS中的对象都包含valueOf方法,我们可以通过自定义valueOf函数替换掉原始object的valueOf

function foo() {
  this.valueOf = function() {
   return 'this is my value';
  }
}
var bar = new foo();
Print( bar ); // prints: this is my value
Print( bar == 'this is my value' ) // prints: true
Print( bar === 'this is my value' ) // prints: false

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • javascript包装对象实例分析

    本文实例讲述了javascript包装对象用法.分享给大家供大家参考.具体分析如下: js对象是一种复合值:它是属性或已命名值得集合. 参考以下代码: var s = "hello world"; var len = s.length; 在该例子中,s是字符串,而字符串不是对象,但为何会有属性呢?其实只要引用了字符串s的属性,js就会将字符串通过调用new String(s)的方式转换为对象,该对象继承了字符串的方法,并被用来处理属性的引用:一旦属性引用结束,这个新创建的对象就会被销毁

  • 浅谈JavaScript中的String对象常用方法

    String对象提供的方法用于处理字符串及字符. 常用的一些方法: charAt(index):返回字符串中index处的字符. indexOf(searchValue,[fromIndex]):该方法在字符串中寻找第一次出现的searchValue.如果给定了fromIndex,则从字符串内该位置开始搜索,当searchValue找到后,返回该串第一个字符的位置. lastIndexOf(searchValue,[fromIndex]):从字符串的尾部向前搜索searchValue,并报告找到

  • JavaScript创建一个object对象并操作对象属性的用法

    本文实例讲述了JavaScript创建一个object对象并操作对象属性的用法.分享给大家供大家参考.具体分析如下: 下面的JS代码创建了一个myMovie对象,并给对象title和director属性赋值,通过Object定义对象,其属性可以不用定义,直接调用即可,非常简单. <script type="text/javascript"> var myMovie = new Object(); myMovie.title = "Aliens"; myM

  • JavaScript使用function定义对象并调用的方法

    本文实例讲述了JavaScript使用function定义对象并调用的方法.分享给大家供大家参考.具体分析如下: JS中你可以通过函数的方式定义对象,下面的JS代码定义了一个movie的函数对象,然后通过new的方法声明对象,调用起来也非常简单. <script type="text/javascript"> function movie(title, director) { this.title = title; this.director = director; } v

  • 深入探讨JavaScript String对象

    String 字符串对象 1. 介绍 String 对象,对字符串进行操作,如:截取一段子串.查找字符串/字符.转换大小写等等. 2. 定义方式 2.1 new String(Value) 构造函数:返回一个内容为Value的String对象 参数: ①value {String} :字符串 返回值: {String对象} 返回一个内容为Value的String对象 示例: 复制代码 代码如下: var demoStr = new String('abc'); console.log(typeo

  • JavaScript通过function定义对象并给对象添加toString()方法实例分析

    本文实例分析了JavaScript通过function定义对象并给对象添加toString()方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过function定义了一个movie对象,在movie对象内定义了一个toString方法,toString方法通过外部函数实现. <script type="text/javascript"> function movieToString() { return("title: "+this.titl

  • JavaScript通过prototype给对象定义属性用法实例

    本文实例讲述了JavaScript通过prototype给对象定义属性的用法.分享给大家供大家参考.具体分析如下: 下面的JS代码定义了movie对象.在使用对象的过程中又通过prototype给对象添加了isComedy属性,调用的时候直接使用object.isComedy即可,非常方便. <script type="text/javascript"> <!-- function movieToString() { return("title: "

  • Javascript中获取对象的原型对象的方法小结

    在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象. 复制代码 代码如下: <!-- lang: js --> function F(){}; var foo = new F(); alert(foo.__proto__ == F.prototype); 但是,__proto__属性在IE浏览器中一直到IE11才被支持. 那么在不支持__pro

  • JavaScript更改原始对象valueOf的方法

    本文实例讲述了JavaScript更改原始对象valueOf的方法.分享给大家供大家参考.具体分析如下: JS中的对象都包含valueOf方法,我们可以通过自定义valueOf函数替换掉原始object的valueOf function foo() { this.valueOf = function() { return 'this is my value'; } } var bar = new foo(); Print( bar ); // prints: this is my value P

  • JavaScript中Number对象的toFixed() 方法详解

    定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 num 必需.规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围.如果省略了该参数,将用 0 代替. 返回值 返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字.如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度.如果 num 大于 l

  • javascript中String对象的slice()方法分析

    本文较为详细的分析了javascript中String对象的slice()方法.分享给大家供大家参考.具体分析如下: 此方法截取字符串中的一段,并返回由被截取字符组成的新字符串. 注:原字符串不会发生改变,返回值是一个新产生的字符串. 语法结构: 复制代码 代码如下: stringObject.slice(start,end) 参数列表: 参数 描述 start  必需.规定从何处开始截取字符串.字符串的首字符的位置是0. 如果此参数为负数,那么将从字符串的尾部开始计算位置.例如:-1代表倒数第

  • JavaScript获得指定对象大小的方法

    本文实例讲述了JavaScript获得指定对象大小的方法.分享给大家供大家参考.具体如下: function objectSize(the_object) { /* function to validate the existence of each key in the object to get the number of valid keys. */ var object_size = 0; for (key in the_object){ if (the_object.hasOwnPro

  • JavaScript 内置对象属性及方法集合

    1.Date 属性(1): constructor 所建立对象的函数参考 prototype 能够为对象加入的属性和方法 方法(43): getDay() 返回一周中的第几天(0-6) getYear() 返回年份.2000年以前为2位,2000(包含)以后为4位 getFullYear() 返回完整的4位年份数 getMonth() 返回月份数(0-11) getDate() 返回日(1-31) getHours() 返回小时数(0-23) getMinutes() 返回分钟(0-59) ge

  • JavaScript中String对象的使用方法以及实例

    方法总览: 实例(js中字符串和字符串对象之间能够自由转换,字符串可以直接使用字符串对象的方法和属性):  var ss="孙士彬倪炜豪汤键倪炜豪"; document.write(ss.anchor("cc")+"<br>"); // 生成一段 HTML 代码:<a name="cc">孙士彬倪炜豪汤键倪炜豪</a> document.write(ss.link("https:/

  • javascript中全局对象的parseInt()方法使用介绍

    复制代码 代码如下: <html> <head> <title>全局对象的parseInt() 方法</title> <script> /* parseInt() 函数可解析一个字符串,并返回一个整数. 1.解析字符串,直到不能解析为止 2.进制转化中,解析字符串,直到不能解析为止 */ document.write(parseInt("123") + "<br/>");//123 docume

  • javascript中全局对象的isNaN()方法使用介绍

    复制代码 代码如下: <html> <head> <title>全局对象的isNaN()方法</title> <script> /* isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字. 当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况. */ document.write(isNaN(123) + "<br/>"

  • javascript中Number对象的toString()方法分析

    本文实例讲述了toString()方法的定义和用法.分享给大家供大家参考.具体分析如下: 此方法可以把Number对象转换成字符串,并返回此字符串. 语法结构如下: 复制代码 代码如下: NumberObject.toString(radix) 参数列表: 参数 描述 radix 可选.规定表示数字的基数,使2 ~ 36 之间的整数.若省略该参数,则使用基数10.但是要注意,如果该参数是10以外的其他值,则ECMAScript标准允许实现返回任意值. 实例代码如下: 复制代码 代码如下: var

  • 注意 JavaScript 中 RegExp 对象的 test 方法

    JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false. 今天我碰到了一个问题: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这里两个测试的字符串应该都满足正则表达式中的模式,返回 true. 可是测试结果却依次是:true, false. 我估计问题的原因可能是因为 RegExp 对象是有状态的,并且在 test 方法的执行时会在某个步骤中利用到状态

随机推荐