精华内容
下载资源
问答
  • Javascript valueOf 方法原理

    千次阅读 2017-12-19 15:45:59
    本文将介绍valueOf()方法。如果存在任意原始值,它就默认将对象转换为表示它的原始值;对象是复合值,而大多数对象无法真正表示为一个原始值,因此默认的valueOf()方法简单地返回对象本身,而不是返回一个原始值 【1...

    本文将简单介绍下valueOf方法。

    valueOf方法返回指定对象的原始值,如果对象存在原始值,那么返回原始值;如果对象是复合值,则返回对象本身。

    1.字符串类型直接原始值返回;

    '1'.valueOf(); // '1'
    ''.valueOf(); // ''
    'abc'.valueOf(); // 'abc'

    2.布尔值类型直接原始值返回;

    true.valueOf(); // true
    false.valueOf(); // false

    3.数值类型稍微有点麻烦;

    • 对于整数来说,直接调用valueOf方法会报错,因为整数后面的点会被识别为小数点,加个括号就好。
    • 浮点数直接原值返回;
    • NaN、Infinity、-Infinity原值返回;

      0.valueOf(); // Uncaught SyntaxError: Invalid or unexpected token
      (0).valueOf(); // 0
      
      1.23.valueOf(); // 1.23
      
      NaN.valueOf(); // NaN
      Infinity.valueOf(); // Infinity
      -Infinity.valueOf(); // -Infinity

       

    4. undefined和null;valueOf方法由Object后面的每个对象继承,所以undefined和null没有toString()方法,直接调用会报错哦。

    undefined.valueOf(); // 错误
    null.valueOf(); // 错误

     

    5.复合类型的对象,返回原对象。

    • 对象Object类型;
      {}.valueOf() // 报错,Uncaught SyntaxError: Unexpected token '.'
      ({}).valueOf() // {}
    • 函数Function类型;
      // 自定义函数
      function func(){
          console.log('text');
      }
      func.valueOf(); /* function test(){
                            console.log('text');
                        }
                      */
      // 原生函数
      Object.valueOf() // Object() { [native code] }
      Function.valueOf() // Function() { [native code] }
    • 数组Array类型;
      [].valueOf(); // []
      [1, 2, 3].valueOf(); // [1, 2, 3]
      
      Array.valueOf(); //  Array() { [native code] }
    • 时间Date类型;
      Date(); // "Mon Jun 22 2020 17:51:31 GMT+0800 (中国标准时间)"
      Date().valueOf(); // "Mon Jun 22 2020 17:51:31 GMT+0800 (中国标准时间)"
      
      Date.valueOf(); // Date() { [native code] }
    • 正则RegExp类型返回原正则对象; 
      /xyz/i.valueOf(); // /xyz/i
      
      RegExp.valueOf(); // RegExp() { [native code] }

       

    • 错误Error类型;
      Error.valueOf(); // Error() { [native code] }

       

     

     

    展开全文
  • JavaScript valueOf() 函数详解

    千次阅读 2017-10-09 16:23:01
    valueOf()函数用于返回指定对象的原始值。 该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有...JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。因此,不同类型

    valueOf()函数用于返回指定对象的原始值。
    该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。
    所有主流浏览器均支持该函数。
    语法:object.valueOf( )
    返回值
    valueOf()函数返回指定对象的原始值。
    JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。因此,不同类型对象的valueOf()方法的返回值和返回值类型均可能不同。

    对象 返回值
    Array 数组实例对象。
    Boolean 布尔值。
    Date 以毫秒数存储的时间值,从 UTC 1970 年 1 月 1 日午夜开始计算。
    Function 函数本身。
    Number 数字值。
    Object 对象本身。这是默认设置。
    String 字符串值。

    示例&说明


    // Array:返回数组对象本身
    var array = ["CodePlayer", true, 12, -5];
    document.writeln( array.valueOf() === array ); // true
    
    // Date:当前时间距1970年1月1日午夜的毫秒数
    var date = new Date(2013, 7, 18, 23, 11, 59, 230);
    document.writeln( date.valueOf() ); // 1376838719230
    
    // Number:返回数字值
    var num =  15.26540;
    document.writeln( num.valueOf() ); // 15.2654
    
    // 布尔:返回布尔值true或false
    var bool = true;
    document.writeln( bool.valueOf() === bool ); // true
    // new一个Boolean对象
    var newBool = new Boolean(true);
    // valueOf()返回的是true,两者的值相等
    document.writeln( newBool.valueOf() == newBool ); // true
    // 但是不全等,两者类型不相等,前者是boolean类型,后者是object类型
    document.writeln( newBool.valueOf() === newBool ); // false
    
    // Function:返回函数本身
    function foo(){ 
    }
    document.writeln( foo.valueOf() === foo ); // true
    var foo2 =  new Function("x", "y", "return x + y;");
    document.writeln( foo2.valueOf() === foo2 ); // true
    
    // Object:返回对象本身
    var obj = {name: "张三", age: 18};
    document.writeln( obj.valueOf() === obj ); // true
    
    // String:返回字符串值
    var str = "http://www.365mini.com";
    document.writeln( str.valueOf() === str ); // true
    // new一个字符串对象
    var str2 = new String("http://www.365mini.com");
    // 两者的值相等,但不全等,因为类型不同,前者为string类型,后者为object类型
    document.writeln( str2.valueOf() === str2 ); // false

    展开全文
  • 说正事,Objects in JavaScript can be converted to primitives in three contexts: javaScript对象在以下三种场景中会转换为原始数据类型。(primitives:英文是硬伤,这个单词意思表达的应该和Java中的基本数据...

    看了篇英文的。。。。心累

    说正事,Objects in JavaScript can be converted to primitives in three contexts:

    javaScript对象在以下三种场景中会转换为原始数据类型。(primitives:英文是硬伤,这个单词意思表达的应该和Java中的基本数据类型一个意思,我会叫它元始数据类型、原语、基本数据。。。)

    1. Numeric
    2. String
    3. Boolean
    字符串转换(String):
    当需要一个对象的字符串表示时,发生字符串转换
    如:alert(obj);

    String(obj)也会做显示转换

    转换规则:
    1、存在toString方法,并且返回基本数据,则使用toString的返回值(所有的对象都有toString方法,也就是说正常情况转换执行到这里就结束了)。
    2、如果valueOf存在并且返回基本数据,则使用valueOf返回的值
    3、否则抛出异常


    数值转换(Numeric):
    javaScript中的另一种转换,没toString使用广泛,但是内部转换经常用到。

    数值转换在以下两种情况发生:
    1、需要一个数字的功能:比如Math.sin(obj),isNaN(obj),包括算数运算符:+object (+会强制转换object为Number类型).
    2、在比较中,如obj == 'join'
    ===是例外,因为它不允许做任何类型转换,and also non-strict equality when both arguments are objects, not primitives: obj1 == obj2. 仅当二者只想同一个对象时返回true.

    使用Number(obj)时也会有明确的数值转换

    具体转换规则:
    1、存在valueOf方法并且返回原语,则使用valueOf的值
    2、不存在valueOf方法,存在toString方法并且返回原语,则使用toString的值
    3、二者都不存在,则抛出异常。

    内置对象中,Date同时支持数值转换和字符串转换
    alert( new Date() ) // The date in human-readable form
    alert( +new Date() ) // Microseconds till 1 Jan 1970

    但是大部分对象没有valueOf方法,这意味着大部分数值转换由toString实现,更意味着数值转换并不一定得到Number类型的数据。


    boolean转换:
    Boolean转换发生在一个Boolean上下文中,如:if(obj),while(obj)

    Boolean(obj)同样会有显式的boolean转换

    转换规则:

    [] == ![]为什么返回true?
    表达式先计算右边![],context为boolean下对象为true(即[]为true),所以![]为false
    现在变为:[] == false
    对象和非对象比较转换为数字比较,右边变为0
    左边对象调用toString方法得到""
    ""转换为数字0
    0 == 0 结果为true


    这是本人Chinglish翻译的,英语好的点这里http://javascript.info/tutorial/object-conversion

    展开全文
  • 出于安全考虑,一些浏览器可能阻止 JavaScript 代码读取 value 属性。 下面的例子可获得文本域的默认值: <html><head><script type="text/javascript">function alertValue() { alert...

     

    value 属性可设置文本域的默认值。

    出于安全考虑,一些浏览器可能阻止 JavaScript 代码读取 value 属性。

     

    下面的例子可获得文本域的默认值:

    <html>
    <head>
    <script type="text/javascript">
    function alertValue()
    {
    alert(document.getElementById("text1").value)
    }
    </script>
    </head>
    <body>

    <form>
    <input type="textfield" id="text1" value="1" />
    <input type="button" id="button1" οnclick="alertValue()"
    value="click" />
    </form>

    </body>
    </html>







    转载于:https://www.cnblogs.com/summerGraden/p/11201838.html

    展开全文
  • 获取文本框中的value ; charset=UTF-8"> <script language="javascript"> function getUsername
  • JavaScript valueOf() 方法 返回JavaScript String 对象参考手册(目录) 定义和用法 valueOf() 方法可返回 String 对象的原始值。 原始值是由从 String 对象下来的所有对象继承的。 valueOf() 方法通常由 ...
  • JavaScript valueOf() 方法 返回JavaScript Date 对象参考手册 (目录)   定义和用法 valueOf() 方法可返回 Date 对象的原始值。 该原始值是由从 Date 对象下来的所有对象继承的。 valueOf() 方法通常由 ...
  • Javascript获取value值的三种方法及注意点

    万次阅读 多人点赞 2018-06-25 01:15:28
     JavaScript获取value值,主要有以下三种: 1.用document.getElementById(“id名”).value来获取(例1); 2.通过form表单中的id名或者name名来获取(例2)。 3.通过id名(不用写getElementById,也不...
  • JavascriptvalueOf与toString区别

    万次阅读 多人点赞 2013-03-18 11:04:53
    它们俩解决javascript值运算与显示的问题,重写会加大它们调用的优化。 测试分析 先看一例: var aaa = {   i: 10,   valueOf: function() { return this.i+30; },   toString: function() { return ...
  • javascript获取select的value

    千次阅读 2017-09-24 18:59:51
    javascript获取select选项的value 苹果 香蕉 李子 查看选择 function check() { var options = $("#fruit option:selected"); var choosefruit = options.val(); ...
  • 基本上,所有JS数据类型都拥有valueOf...JavaScriptvalueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值。 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值。如果调用该方法的对象不是
  • JavaScript如何获得input元素value

    万次阅读 多人点赞 2015-04-10 10:43:08
    在页面中我们最常见的页面元素就是input了,但是我们如何用JavaScript得到网页input中输入的value值呢,其实很简单,方法也不止一种,据我总结比较常用的就是下面的两种方法,闲话不多说了,下面那就来看看我说的...
  • JavaScript: Passing by Value or by Reference

    千次阅读 2017-02-07 09:48:50
    JavaScript: Passing by Value or by Reference(javascript中值传递,引用传递)
  • JavaScript struct类型与valueOf

    千次阅读 2016-07-23 16:55:38
    在JS的值的对比中,我们经常会用到valueOf,然于这个方法到底有什么奇特之处呢。下面就来一段valueOf用处示例:function Card(value) { this.value = value; this.isValid = value>=0 && value ; }再普通不过的一段...
  • javascript中使用key-value

    千次阅读 2017-05-06 16:46:26
    一切尽在不言中,直接上代码:var obj = { "01": "Hello World!", "02": "Hello Human!" }; alert(obj["02"]); 这有时候会在编码过程中带来莫大的方便。
  • 概括的说:value是元素的属性值,可以获得标签的属性值,输出的是字符串,而innerText和innerHTML是元素开始和结束标签之间的值,但innerText和innerHTML之间也有所区别,innerText将标签之间的内容作为字符串输出,...
  • JavaScript获取HTML.value

    2018-12-25 19:06:11
    <!... #div1 { width: 100px; height: 100px;... //alert(oText.value);... alert(oSelect.value);... <option value="北京">北京 ... <input id="btn1" type="button" value="按钮"/>  
  • JavaScript 写的key-value数组

    万次阅读 2011-11-12 17:14:40
    // JavaScript Key-Value Array// cheungminefunction _pair_array_t (keyCompFunc) { this._keys = new Array(); this._vals = new Array(); this._comp = function (k1, k2) { return (k1==k2); }
  • 如果在需要使用原始值的上下文中使用了对象,JavaScript就会自动调用valueOf()方法。 valueOf()方法是Object的原型方法,每个对象都具有该方法,但是各对象返回的值有一定的区别。我们一起来看看。 Object.prototype...
  • 而原生的JavaScript获取到的value值 是元素的值 因为form表单中input的值确实太多 甚至可以换行 因此我们可以把JavaScript获取到的value值看做是近似对象 但是二者在实际操作中还是有些许差别的 我个人觉得...
  • JavaScript中Event.returnValue属性  (2010-09-08 16:05:32)   分类: Web 1.该属性是设置或获取事件的返回值。Event对象的returnValue属性的值一般是true,即脚本处理完自己的工作后...
  • value: string类型 属性的值. 用于input/form/textarea元素, innerHTML: string类型,元素的HTML内容. 用于div/p/span/td/ul 等.
  • javascript new Object(value)

    千次阅读 2014-01-10 10:51:22
    var obj = new Object(value);   value是js中的元类型,返回的是该元类型的包装类。 var aNumber= new Object(1); var aBoolean = new Object(true); var aString = new Object("str"); //与java不同,js
  • javascript中的 if(!value)

    千次阅读 2019-07-10 16:09:52
    字面意思就是如果这个为真就执行,去掉非!,即直接判断value为false,下面的才执行。 “!”:否运算符。...JavaScript code? 1 2 3 4 5 6 Boolean(null)...
  • 它们俩解决javascript值运算与显示的问题,重写会加大它们调用的优化。 测试分析 先看一例: var aaa = {   i: 10,   valueOf: function() { return this.i+30; },   toString: function() { return...
  • Array、Boolean、Date、Number等对象都具有toString()、toLocaleString()、valueOf()三个方法,那这三个方法有什么区别??? var obj1=[1,2,3,4,5]; var obj2=[5,4,3,2,1]; var obj3=[obj1,obj2]; console.log...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,990
精华内容 17,596
关键字:

javascriptvalue

java 订阅