返回

聊聊 JavaScript 最神秘的一面 (纳尼,这是个什么东东?)

前端

纳尼,这是什么东西?这句话在动漫中经常出现,表示惊讶、不解或者难以置信。它也常常被用来形容一些神秘莫测、难以理解的东西。而在 JavaScript 中,也有一些这样神秘莫测的东西,今天我们就来聊聊 JavaScript 最神秘的一面。

一、逻辑运算符

逻辑运算符是用来对布尔值进行操作的运算符。布尔值只有两个值:真和假。逻辑运算符有三种:与运算符(&&)、或运算符(||)和非运算符(!)。与运算符的作用是,如果两个操作数都是真,则返回真,否则返回假。或运算符的作用是,如果两个操作数中有一个为真,则返回真,否则返回假。非运算符的作用是,如果操作数为真,则返回假,否则返回真。

二、关系运算符

关系运算符是用来比较两个值是否相等或不相等的运算符。关系运算符有六种:等于运算符(==)、不等于运算符(!=)、大于运算符(>)、小于运算符(<)、大于等于运算符(>=)和小于等于运算符(<=)。等于运算符的作用是,如果两个操作数相等,则返回真,否则返回假。不等于运算符的作用是,如果两个操作数不相等,则返回真,否则返回假。大于运算符的作用是,如果第一个操作数大于第二个操作数,则返回真,否则返回假。小于运算符的作用是,如果第一个操作数小于第二个操作数,则返回真,否则返回假。大于等于运算符的作用是,如果第一个操作数大于或等于第二个操作数,则返回真,否则返回假。小于等于运算符的作用是,如果第一个操作数小于或等于第二个操作数,则返回真,否则返回假。

三、位运算符

位运算符是用来对二进制位进行操作的运算符。位运算符有六种:与运算符(&)、或运算符(|)、异或运算符(^)、左移运算符(<<)、右移运算符(>>)和无符号右移运算符(>>>)。与运算符的作用是,如果两个操作数的二进制位都为 1,则返回 1,否则返回 0。或运算符的作用是,如果两个操作数的二进制位中有一个为 1,则返回 1,否则返回 0。异或运算符的作用是,如果两个操作数的二进制位不同,则返回 1,否则返回 0。左移运算符的作用是,将操作数的二进制位向左移动指定位数。右移运算符的作用是,将操作数的二进制位向右移动指定位数。无符号右移运算符的作用是,将操作数的二进制位向右移动指定位数,但不会改变符号位。

四、赋值运算符

赋值运算符是用来将值赋给变量的运算符。赋值运算符有四种:赋值运算符(=)、复合赋值运算符(+=、-=、*=、/=、%=)、自增运算符(++)和自减运算符(--)。赋值运算符的作用是,将右边的值赋给左边的变量。复合赋值运算符的作用是,将右边的值与左边的变量进行运算,然后将运算结果赋给左边的变量。自增运算符的作用是,将变量的值加 1。自减运算符的作用是,将变量的值减 1。

五、算术运算符

算术运算符是用来对数字进行运算的运算符。算术运算符有五种:加运算符(+)、减运算符(-)、乘运算符(*)、除运算符(/)和求余运算符(%)。加运算符的作用是,将两个操作数相加。减运算符的作用是,将第二个操作数从第一个操作数中减去。乘运算符的作用是,将两个操作数相乘。除运算符的作用是,将第一个操作数除以第二个操作数。求余运算符的作用是,将第一个操作数除以第二个操作数,并返回余数。

六、一元运算符

一元运算符是对一个操作数进行运算的运算符。一元运算符有三种:正号运算符(+)、负号运算符(-)和逻辑非运算符(!)。正号运算符的作用是,将操作数转换为数字。负号运算符的作用是,将操作数转换为负数。逻辑非运算符的作用是,如果操作数为真,则返回假,否则返回真。

七、三元运算符

三元运算符是一种特殊的运算符,它有三个操作数。第一个操作数是条件表达式,第二个操作数是条件为真时的值,第三个操作数是条件为假时的值。三元运算符的语法是:

条件表达式 ? 值1 : 值2

如果条件表达式为真,则返回值1,否则返回值2。

八、条件语句

条件语句是用来根据条件执行不同代码的语句。条件语句有三种:if 语句、else if 语句和 else 语句。if 语句的语法是:

if (条件表达式) {
    // 如果条件为真,则执行这些代码
}

else if 语句的语法是:

else if (条件表达式) {
    // 如果条件为真,则执行这些代码
}

else 语句的语法是:

else {
    // 如果以上所有条件都不为真,则执行这些代码
}

九、循环语句

循环语句是用来重复执行某段代码的语句。循环语句有三种:for 循环语句、while 循环语句和 do-while 循环语句。for 循环语句的语法是:

for (初始化语句; 条件表达式; 更新语句) {
    // 执行这些代码
}

while 循环语句的语法是:

while (条件表达式) {
    // 执行这些代码
}

do-while 循环语句的语法是:

do {
    // 执行这些代码
} while (条件表达式);

十、函数

函数是用来封装代码块的语句。函数可以接收参数,也可以返回值。函数的语法是:

function 函数名(参数列表) {
    // 函数体
}

十一、对象

对象是用来存储数据的语句。对象可以包含属性和方法。属性是对象中存储的数据,方法是对象中可以执行的代码。对象的语法是:

var 对象名 = {
    属性1: 值1,
    属性2: 值2,
    ...
    方法1: function() {
        // 方法体
    },
    方法2: function() {
        // 方法体
    },
    ...
};

十二、数组

数组是用来存储数据的语句。数组可以包含任意类型的数据。数组的语法是:

var 数组名 = [1, 值2, ...];

十三、正则表达式

正则表达式是用来匹配字符串的语句。正则表达式的语法非常复杂,这里就不详细介绍了。

十四、DOM

DOM 是 Document Object Model 的缩写,它是用来表示 HTML 文档的树形结构。DOM 可以用来操作 HTML 文档中的元素。

十五、BOM

BOM 是 Browser Object Model 的缩写,它是用来表示浏览器窗口的树形结构。BOM 可以用来操作浏览器窗口中的元素。

十六、事件

事件是用来表示用户与网页交互的行为。事件可以由用户触发,也可以由代码触发。事件的语法是:

元素.addEventListener("事件类型", function() {
    // 事件处理函数
});

十七、AJAX

AJAX 是 Asynchronous JavaScript and XML 的缩写,它是用来实现异步数据传输的技术。AJAX 可以用来从服务器获取数据,也可以用来向服务器发送数据。

十八、JSON

JSON 是 JavaScript Object Notation 的缩写,它是用来表示 JavaScript 对象的