📜  查找 js - Javascript (1)

📅  最后修改于: 2023-12-03 14:55:31.993000             🧑  作者: Mango

查找 JS - JavaScript

JavaScript是一种脚本编程语言,常用于Web前端开发,具有动态、弱类型特点。本文将介绍JS的基础知识与常见问题。

JS基础语法
变量与数据类型

JavaScript的变量声明使用var关键字,支持的数据类型有:数值型、字符串型、布尔型、null与undefined。

var num = 123; // 数值型
var str = 'hello'; // 字符串型
var bool = true; // 布尔型
var n = null; // null类型
var u; // undefined类型
运算符

JavaScript支持的运算符有:算术运算符、比较运算符、逻辑运算符、位运算符、三目运算符等。

var a = 2;
var b = 3;
console.log(a + b); // 5,算术运算符
console.log(a === b); // false,比较运算符
console.log(a && b); // 3,逻辑运算符
console.log(a | b); // 3,位运算符
var max = (a > b) ? a : b; // 三目运算符
条件语句

JavaScript的条件语句包括if...elseswitch等。

var num = 2;
if(num === 1){
    console.log('num is 1');
}else if(num === 2){
    console.log('num is 2');
}else{
    console.log('num is not 1 or 2');
}

var fruit = 'apple';
switch(fruit){
    case 'apple':
        console.log('This is an apple.');
        break;
    case 'banana':
        console.log('This is a banana.');
        break;
    default:
        console.log('This is neither an apple nor a banana.');
}
循环语句

JavaScript的循环语句包括forwhiledo...while等。

for(var i=0; i<5; i++){
    console.log('i is', i);
}

var i = 0;
while(i<5){
    console.log('i is', i);
    i++;
}

var i = 0;
do{
    console.log('i is', i);
    i++;
}while(i<5);
函数

JavaScript中的函数通过function关键字定义,可以有参数与返回值。

function add(a, b){
    return a + b;
}

var sum = add(1, 2);
console.log('sum is', sum);
JS常见问题
为什么JavaScript被称为动态语言?

JavaScript中的变量不需要提前声明数据类型,而是在运行时自动确定类型。此外,JavaScript中的对象可以在运行时添加或删除属性和方法,因此被称为动态语言。

什么是闭包?

闭包指的是一个函数与其所在的词法环境组合而成的实体。闭包允许函数访问词法环境中的变量,即使函数在不同的词法环境中执行也可以访问到。

function add(x){
    return function(y){
        return x + y;
    }
}

var add2 = add(2);
console.log(add2(3)); // 5
什么是作用域?

JavaScript中的作用域指的是变量与函数可访问的范围。作用域可分为全局作用域与局部作用域。全局作用域中的变量可以被任何函数访问,局部作用域中的变量仅在函数内部可访问。

var a = 1; // 全局作用域

function foo(){
    var b = 2; // 函数内部作用域
    console.log(a); // 1,可以访问全局作用域中的变量
}

foo();
console.log(b); // 报错,无法访问函数内部作用域中的变量
什么是原型链?

JavaScript中的继承通过原型链实现。原型链指的是对象之间通过__proto__属性连接起来的链式结构。JavaScript对象会依次向上查找原型链上的对象,直到找到对应的属性或方法为止。

var obj = {
    a: 1
};

var obj2 = Object.create(obj);
console.log(obj2.a); // 1,通过原型链访问obj的属性

以上就是JS基础知识与常见问题介绍。