📅  最后修改于: 2023-12-03 14:55:31.993000             🧑  作者: Mango
JavaScript是一种脚本编程语言,常用于Web前端开发,具有动态、弱类型特点。本文将介绍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...else
、switch
等。
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的循环语句包括for
、while
、do...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);
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基础知识与常见问题介绍。