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(/(\b\w+\b)/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() 原型方法,用以从字符串中去除前导空字符、尾随空字符和行终止符。该方法在表达处理中非常实用。

posted @ 2020-05-12 15:30  青山_1997  阅读(123)  评论(0编辑  收藏  举报