美文网首页JavaScript
javascript高级—对象篇

javascript高级—对象篇

作者: Aniugel | 来源:发表于2018-12-08 11:57 被阅读5次

    参考网址:http://www.runoob.com/jsref/jsref-obj-string.html

    一、String对象

    一、constructor属性

    对象的constructor 属性用于返回创建该对象的函数,也就是我们常说的构造函数
    可以用此方法检查一个对象是否是数组

    var test=new Array();
    if (test.constructor==Array)
    {
    document.write("This is an Array");
    }
    if (test.constructor==Boolean)
    {
    document.write("This is a Boolean");
    }
    if (test.constructor==Date)
    {
    document.write("This is a Date");
    }
    if (test.constructor==String)
    {
    document.write("This is a String");
    }
    

    返回字符串的构造函数

    var txt = "Hello World!";
    document.write(txt.constructor);
    
    二、prototype属性

    prototype 属性允许您向对象添加属性和方法(object.prototype.name=value),注意: Prototype 是全局属性,适用于所有的Javascript对象。

    function employee(name,jobtitle,born)
    {
    this.name=name;
    this.jobtitle=jobtitle;
    this.born=born;
    }
    var fred=new employee("Fred Flintstone","Caveman",1970);
    employee.prototype.salary=null;
    fred.salary=20000;
    document.write(fred.salary);
    
    三、contact方法

    concat() 方法用于连接两个或多个字符串。该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

    var str1="Hello ";
    var str2="world!";
    var str3=" Have a nice day!";
    var n = str1.concat(str2,str3);
    
    四、检索方法集合

    1.indexOf() 方法
    返回某个指定的字符串首次出现的位置,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果没有找到匹配的字符串则返回 -1。
    可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。

    2.lastIndexOf ()方法
    从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
    3.match() 方法
    将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本,match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.match(/ain/);//ain
    
    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.match(/ins/);//null
    
    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.match(/ain/g);//ain,ain,ain
    
    var str="The rain in SPAIN stays mainly in the plain"; 
    var n=str.match(/ain/gi);//ain,AIN,ain,ain
    

    4.replace() 方法
    用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。一般只会匹配一次,加了g全局会依次匹配完,加了i默认大小写都会匹配

    var str="Visit Microsoft! Visit Microsoft!";
    var n=str.replace("Microsoft","Runoob");
    

    5.search() 方法
    用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。
    indexOf()和search()的区别,首先要明确search()的参数必须是正则表达式,而indexOf()的参数只是普通的字符串。indexOf()是比search()更加底层的方法。如果只是兑一个具体字符串来茶渣检索,那么使用indexOf()的系统资源消耗更小,效率更高;如果查找具有某些特征的字符串(例如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了。大多是时候用indexOf()不是为了真的想知道子字符串的位置,而是想知道长字符串中有没有包含这个子字符串。若果返回索引为-1,那么说明没有,反之则有。

    var str="Visit Runoob!"; 
    var n=str.search("Runoob");
    

    6.slice() 方法
    slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。使用 start(包含) 和 end(不包含参数可选) 参数来指定字符串提取的部分。字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

    1. split() 方法
      split() 方法用于把一个字符串分割成字符串数组。提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。注意: split() 方法不改变原始字符串,会改变类型。http://www.runoob.com/jsref/jsref-split.html
      8.substr() 方法
      substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
      提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
      9.substring() 方法
      substring() 方法用于提取字符串中介于两个指定下标之间的字符。substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
      10.substring,substr,和slice的区别详解https://www.cnblogs.com/yuyufeng/p/5532426.html
      11.valueOf() 方法
      valueOf() 方法可返回 String 对象的原始值
    var str="Hello world!";
    document.write(str.valueOf());
    
    var str=function(){return 2;}();
    document.write(str.valueOf());
    

    12.String HTML 包装方法

    var txt = "Hello World!";
    document.write("<p>字体变大: " + txt.big() + "</p>");
    document.write("<p>字体缩小: " + txt.small() + "</p>");
    document.write("<p>字体加粗: " + txt.bold() + "</p>");
    document.write("<p>斜体: " + txt.italics() + "</p>");
    document.write("<p>固定定位: " + txt.fixed() + "</p>");
    document.write("<p>加删除线: " + txt.strike() + "</p>");
    document.write("<p>字体颜色: " + txt.fontcolor("green") + "</p>");
    document.write("<p>字体大小: " + txt.fontsize(6) + "</p>");
    document.write("<p>下标: " + txt.sub() + "</p>");
    document.write("<p>上标: " + txt.sup() + "</p>");
    document.write("<p>链接: " + txt.link("http://www.w3cschool.cc") + "</p>");
    document.write("<p>闪动文本: " + txt.blink() + " (不能用于IE,Chrome,或者Safari)</p>");
    

    二、Number对象

    一、创建对象

    var num = new Number(value);
    如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。

    二、 NEGATIVE_INFINITY 属性(POSITIVE_INFINITY 正无穷大)

    NEGATIVE_INFINITY 属性表示负无穷大。NEGATIVE_INFINITY 属性表示小于 Number.MIN_VALUE 的值。NEGATIVE_INFINITY 是 JavaScript Number 对象的静态变量。调用方法为:Number.NEGATIVE_INFINITY.使用 自定义 Number对象 x 调用该属性(x.NEGATIVE_INFINITY)将返回 undefined

    function myFunction(){
        var x=100;
        var demo=document.getElementById("demo");
        demo.innerHTML=x.NEGATIVE_INFINITY;//undefined
    }
    

    创建一个负无穷大

    function myFunction(){
        var n=(-Number.MAX_VALUE)*2;
        document.getElementById("demo").innerHTML=n;
    }
    
    三、MAX_VALUE 属性

    由于 MAX_VALUE 为 Number 对象的属性,所以可以使用 Number.MAX_VALUE 调用。使用自己创建的 x Number对象(x.MAX_VALUE)将无法获取 。MAX_VALUE 属性是 JavaScript 中可表示的最大的数。它的近似值为 1.7976931348623157 x 10308。注意:大于MAX_VALUE的数表示无穷大。

    四、MIN_VALUE 属性

    MIN_VALUE 属性是 JavaScript 中可表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324。注意: 比 MIN_VALUE 属性小的数将用 0 表示。
    注意: MIN_VALUE 是 JavaScript 最接近0的数,不是负值,负值属性为 MAX_NUMBER。MIN_VALUE 是 Javascript Number 对象的静态属性,所以调用该属性的方法为: Number.MIN_VALUE.使用自定义的 Number对象 x 调用该属性(x.MIN_VALUE),将返回 undefined:

    function myFunction(){
        document.getElementById("demo").innerHTML=Number.MAX_NUMBER;
    }
    
    五、Number prototype 属性

    prototype 属性允许您向对象添加属性和方法。
    当构造一个属性, 所有的 Number 对象将被添加上该属性及值。当构造一个方法时,所有的 Number 对象都会有这个方法。注意: Number.prototype 不允许引用一个单独的 Number 对象,但是可以使用 Number() 对象。注意:prototype 型是一个全局对象的构造函数,可用于所有的JavaScript对象

    Number.prototype.myMet=function(){
        this.myProp=this.valueOf()/2;
    }
    function myFunction(){
        var d = new Number(55);
        d.myMet();
        var x=document.getElementById("demo");
        x.innerHTML=d.myProp;
    }
    
    六、Number 对象方法http://www.runoob.com/jsref/jsref-obj-number.html

    toExponential(x)把对象的值转换为指数计数法
    toFixed(x)把数字转换为字符串,结果的小数点后有指定位数的数字。 |
    toPrecision(x)把数字格式化为指定的长度。
    toString()把数字转换为字符串,使用指定的基数
    valueOf()返回一个 Number 对象的基本数字值。

    七、数字进制转换方法:pareseInt()和 toString()

    三、Math对象

    四、Array对象

    五、Boolean对象

    六、Date对象

    相关文章

      网友评论

        本文标题:javascript高级—对象篇

        本文链接:https://www.haomeiwen.com/subject/hqcqhqtx.html