zoukankan      html  css  js  c++  java
  • 读javascript高级程序设计08-引用类型之Global、Math、String

    一、Global

    所有在全局作用域定义的属性和方法,都属于Global对象。

    1.URI编码:

    encodeURI():主要用于对整个URI编码。它不会对本身属于URI的特殊字符进行编码。

    encodeComponentURI():主要用于对URI中的某一部分进行编码,很常用的是对查询字符串参数进行编码。它会对所有非标准字符进行编码。

    对应的解码方法是decodeURI()和decodeURIComponent。

    var uri='http://www.cnblogs.com?a=1 2&b=陈&c=123';
    var a=encodeURI(uri);// http://www.cnblogs.com?a=1%202&b=%E9%99%88&c=123
    var b=encodeURIComponent(uri);// http%3A%2F%2Fwww.cnblogs.com%3Fa%3D1%202%26b%3D%E9%99%88%26c%3D123
    decodeURI(a);//√"http://www.cnblogs.com?a=1 2&b=陈&c=123"
    decodeURI(b);//×"http%3A%2F%2Fwww.cnblogs.com%3Fa%3D1 2%26b%3D陈%26c%3D123"
    decodeURIComponent(a);//√"http://www.cnblogs.com?a=1 2&b=陈&c=123"
    decodeURIComponent(b);//http://www.cnblogs.com?a=1 2&b=陈&c=123

    2.eval()方法

    当调用eval()方法时,会执行参数中传入的语句,并把执行结果插入到原位置。

    该方法执行的代码与当前调用环境具有相同的作用域链。

    var a=1;
    eval('function test(){alert(a);}');
    test();//结果1

    3.在web浏览器中,全局作用域的变量和方法都会成为window对象的属性。

    var name='jing';
    function sayName(){
    console.log(name);
    }
    window.sayName(window.name);//jing

    二、Math对象

    Math对象包含了很多数据计算的属性和方法。常用的几个:

    1.Math.min()和Math.max:计算一组数值中的最大值和最小值,参数可以任意多个数值。

    Math.min(3,5,10,88,3);//
    Math.max(3,5,10,88,3)//88


    当计算一个数组中的最大最小值时,可以这样调用:

    var result=[3,5,10,88,3];
    Math.min(result);//错误,NaN
    Math.min.apply(Math,result);//3

    2.舍入方法

    Math.ceil():向上取整;

    Math.floor():向下取整;

    Math.round():四舍五入取整。

    var data=5.6;
    Math.ceil(data);//6
    Math.floor(data);//5
    Math.round(data);//6
    Math.round(5.4)//5

    3.随机数random ()

    Math.random()返回一个介于0和1之间的随机数,不包含0和1。

    取一个整数范围内的随机数可以这样来计算:

    result=(Math.random()*可能取值的总数+第一个可能的值)

    三、String类型

    1.字符方法

    charAt(n):直接返回字符串中指定位置的字符;

    charCodeAt(n):返回指定位置字符的字符编码。

    var s="Javascript高级程序设计";
    console.log(s.charAt(10));//
    console.log(s.charCodeAt(10));//39640

    2.取子串

    slice():第一个参数是子串开始位置索引,第二个参数是子串结束位置索引(不包括结束字符).

    substring():第一个参数是子串开始位置索引,第二个参数是子串结束位置索引(不包括结束字符).

    substr():第一个参数是子串开始位置索引,第二个参数是子串长度.

    var s="提醒一下七夕节快到了";
    console.log(s.slice(4,7));
    console.log(s.substring(4,7));
    console.log(s.substr(4,3));

    3.字符串模式匹配

    search(reg):返回字符串中第一个匹配项的索引,如果匹配不到就返回-1。方法有一个参数,可以是正则表达式或者RegExp对象。

    match(reg):该方法有一个参数,可以是正则表达式或者RegExp对象。

    replace():替换子串。如果想替换所有匹配的子串,那么只能用正则表达式。

    var s='http://www.cnblogs.com/1/1/'
    var r=/d+/g;
    s.search(r);//23
    s.match(r);//["1","1"]
    
    //只替换第一个匹配项
    s.replace('1','janes')//"http://www.cnblogs.com/janes/1/"
    
    //替换所有匹配项
    s.replace(r,'janes');//"http://www.cnblogs.com/janes/"
  • 相关阅读:
    基于xtrabackup的PointInTime Recovery备份恢复
    使用折半查找法删除
    五月第二周
    MySQL 5.5 外键不能引用分区表主键
    MYSQL 登录漏洞,Percona Server说明
    Detectron2学习笔记 Sanny.Liu
    取客户MAP地址
    DataReader转实体<T>
    从程序员到翻译的感受
    .net中的浅拷贝和深拷贝
  • 原文地址:https://www.cnblogs.com/janes/p/3881169.html
Copyright © 2011-2022 走看看