• Js芝士点Two


    JS对象操作(in、instanceof、delete)运算符

    in运算符能够检测左侧操作数是否为右侧操作数的成员。其中,左侧操作数是一个字符串,或者可以转换为字符串的表达式,右侧操作数是一个对象或数组。

    var o = {  //定义对象
        a : 1,  //定义属性a
        b : function() {}  //定义方法b
    }
    console.log("a" in o);  //返回true
    

    instanceof运算符能够检测左侧的对象是否为右侧类型的示例。

    var a = new Array();  //定义数组
    console.log(a instanceof Array);  //返回true
    

    delete运算符能够删除指定对象的属性、数组元素或变量。如果删除操作成功,则返回 true;否则返回 false。

    JS &、|、^和~(逻辑位运算符)

    • “&”运算符(位与)用于对两个二进制操作数逐位进行比较
    • “|”运算符(位或)用于对两个二进制操作数逐位进行比较
    • “^”运算符(位异或)用于对两个二进制操作数逐位进行比较
    • “~”运算符(位非)用于对一个二进制操作数逐位进行取反操作。

    JS移位运算符(<<、>>和>>>)

    移位运算就是对二进制进行有规律低移位。移位运算可以设计很多奇妙的效果,在图形图像编程中应用广泛。

    “<<”运算符执行左移位运算。在移位运算过程中,符号位始终保持不变。如果右侧空出位置,则自动填充为 0;超出 32 位的值,则自动丢弃。

    “>>”运算符执行有符号右移位运算。与左移运算操作相反,它把 32 位数字中的所有有效位整体右移,再使用符号位的值填充空位。移动过程中超出的值将被丢弃。

    “>>>”运算符执行五符号右移位运算。它把无符号的 32 位整数所有数位整体右移。对于无符号数或正数右移运算,无符号右移与有符号右移运算的结果是相同的

    JS new运算符

    new 是一个运算符,可以创建对象,初始化实例。其语法格式如下:

    new contructor(arguments)
    

    constructor 必须是一个构造函数表达式,参数 arguments 可有可无,参数之间用逗号分隔。如果没有逗号,可以省略小括号。

    for/in语句

    for ( [var] variable in <object | array)
        statement
    

    variable 表示一个变量,可以在其前面附加 var 语句,用来直接声明变量名。in 后面是一个对象或数组类型的表达式。在遍历对象或数组过程中,把或取的每一个值赋值给 variable。

    然后执行 statement 语句,其中可以访问 variable 来读取每个对象属性或数组元素的值。执行完毕,返回继续枚举下一个元素,以此类推知道所有元素都被枚举为止。

    • 使用 for/in 迭代对象属性,把每个属性值寄存到一个数组中。
    var o = {x : 1,y : true,z : "true"},  //定义包含三个属性的对象
        a = [],  //临时寄存数组
        n = 0;  //定义循环变量,初始化为0
    for (a[n++] in o);  //遍历对象o,然后把所有属性都赋值到数组中
    
    • for/in 适合枚举不确定长度的对象。
    for (var i = 0 in document) {
        document.write("document." + i + "=" +document[i] +"<br />");
    
    • for/in 能够枚举可枚举的属性,包括原生属性和继承属性。
    Array.prototype.x = "x";  //自定义数组对象的继承属性
    var a = [1,2,3];  //定义数组对象,并赋值
    a.y = "y"  //定义数组对象的额外属性
    for (var i in a) {  //遍历数组对象a
        document.write(i + ": " + a[i] + "<br />");
    }
    

    JS异常处理(try+catch+finally+throw)

    try{
        //调试代码块
    }
    catch(e) {
        //捕获异常,并进行异常处理的代码块
    }
    finally{
        //后期清理代码块
    }
    

    在正常情况下,JavaScript 按顺序执行 try 子句中的代码,如果没有异常发生,将会忽略 catch 子句,跳转到 finally 子句中继续执行。

    如果在 try 子句运行时发生错误,或者使用 throw 语句主动抛出异常,则执行 catch 子句中的代码,同时传入一个参数,引用 Error 对象。

    不管 try 语句是否完全执行,finally 语句最后都必须要执行,即使使用了跳转语句跳出了异常处理结构,也必须在跳出之前先执行 finally 子句。

    throw语句

    throw 语句能够主动抛出异常.当执行 throw 语句时,程序会立即停止执行。只有当使用 try/catch 语句捕获到被抛出的值时,程序才会执行。

    在抛出异常时,JavaScript 也会停止程序的正常执行,并跳转到最近的 catch 子句。如果没有找到 catch 子句,则会检查上一级的 catch 子句,以此类推,直到找到一个异常处理器为止。如果在程序中没有找到任何异常处理器,将会显示错误。

    JS字符串拼接/连接(3种方式)

    • 使用加号运算符
    • 使用concat()方法.使用字符串 concat() 方法可以把多个参数添加到指定字符串的尾部。
    • 使用join()方法
    var s = "JavaScript" , a = [];
    for (var i = 0; i < 1000; i ++) {
        a.push(s);
    var str = a.join("");
    a = null;
    document.write(str);
    

    JS字符串查找(6种方法)

    • charAt(n) 返回字符串中的第 n 个字符
    • charCodeAt(n) 返回字符串中的第 n 个字符的代码
    • indexOf(str,start) 检索字符串,从指定位置返回指定子字符串的下标位置
    • lastIndexOf(str,start) 从后向前检索一个字符串
    • match(RegExp) 找到一个或多个正则表达式的匹配
    • search(RegExp) 检索与正则表达式相匹配的子串

    JS截取字符串(3种方法)

    substr() 方法能够根据指定长度来截取子字符串。

    ECMAScript 不再建议使用该方法,推荐使用 slice() 和 substring() 方法。

    slice() 和 substring() 方法都是根据指定的起止下标位置来截取字符串,它们都可以包含两个参数,第一个参数表示起始下标,第二个参数表示结束下标。

    JS字符串替换(使用replace()方法)

    replace() 方法的第二个参数可以使用函数,当匹配时会调用该函数,函数的返回值将作为替换文本使用,同时函数可以接收以$为前缀的特殊字符,用来引用匹配文本的相关信息。

    var s = 'javascript is script , is not java.';  //定义字符串
    var f = function () {
        for (var i = 0; i < arguments.length; i++) {
            console.log("第" + (i + 1) + "个参数的值:"+ arguments[i]);
        }
        console.log("-----------------------------");
    }
    var a = s.replace(/(w+)/g, f);
    

    JS字符串大写和小写之间的转换(4种方法)

    • toLocaleLowerCase() 把字符串转换成小写
    • toLocaleUpperCase() 将字符串转换成大写
    • toLowerCase() 将字符串转换成小写
    • toUpperCase() 将字符串转换成大写

    JS字符串比较大小

    JavaScript 能够根据字符的 Unicode 编码大小逐位比较字符串大小。

    1. 直接比较字符串大小

      在 JavaScript 中,可以直接使用 >、<、==、全等 来比较两个字符串的大小,就像比较两个数字一样。

    2. 使用 localeCompare() 方法

      使用字符串的 localeCompare() 方法,可以根据本地约定顺序来比较两个字符串的大小。

    JS字符串和数组之间的转换

    使用字符串的 split() 方法可以根据指定的分隔符把字符串切分为数组

    • 如果参数为空字符串,则 split() 方法能够按单个字符进行切分,然后返回与字符串等长的数组。
    • 如果参数为空,则 split() 方法能够把整个字符串作为一个元素的数组返回。
    • 如果参数为正则表达式,则 split() 方法能够以匹配文本作为分隔符进行切分。
    • split() 方法支持第二个参数,该参数是一个可选的整数,用来指定返回数组的最大长度。如果设置了该参数,则返回的数组长度不会大于这个参数指定的值;如果没有设置该参数,那么整个字符串都被分割,不会考虑数组长度。

    如果使用数组的 join() 方法,可以把数组元素连接为字符串

    JS去除字符串前后空格

    ECMAScript 5 为 String 新增了 trim() 原型方法,用以从字符串中去除前导空字符、尾随空字符和行终止符。该方法在表达处理中非常实用。

  • 相关阅读:
    Appium-Java滑动操作
    使用uiautomatorviewer获取元素
    在eclipse中,Python项目遇到:…… from appium import webdriver ImportError: No module named appium
    Python遇到SyntaxError: Non-ASCII character 'xe5' in file D:eclipseworkspace est est_urllib2.py on line2
    在eclipse添加第一次添加Python项目时,提示: Project interpreter not specified
    安装pip环境以及pip常用命令使用
    虚拟机——安装虚拟机时,提示intel VT-x处于禁用状态
    【luogu 3370】【模板】字符串哈希
    【luogu 3378】【模板】堆
    【luogu 3383】【模板】线性筛素数
  • 原文地址:https://www.cnblogs.com/tanghm/p/12876535.html
Copyright © 2020-2023  润新知