JavaScript基本语法

本文详细介绍了JavaScript的基本语法,包括变量创建、对象定义、字符串、运算符以及条件判断和循环。重点讲解了this的用法,在对象方法、独立使用和事件中的不同表现。同时,对比了===和==的比较规则,帮助理解JavaScript中的相等性判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本语法

1.1 创建变量

var

var 关键字告诉浏览器创建一个新的变量,如果重新声明 JavaScript 变量,该变量的值不会丢失,作用域为全局,如:

在以下两条语句执行后,变量 carname 的值依然是 “Volvo”:

var carname="Volvo";
var carname;

const和let

const定义不变量,let用来定义变量,let 局部变量,作用域有限基本类型如下

const str = 'hello';
const num = num;
const boo = flase;
//定义数组
const arr = [1,2,3];

JS的字符串可以使用单引号,也可以使用双引号

1.2 对象

JS定义对象如下所示

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};//在里面可以定义函数,称为对象的方法

person.lastNameperson["lastName"] 都可以访问对象的属性,name = person.fullName() 访问对象的方法。

JS对象的键引用时只能是字符串,即使用person["lastName"]引用必须加引号

1.3 字符串

没啥好讲的,就一单引号双引号括着的东西。

1.4 基本符号

若有一条语句x=5 ,运算如下

运算符描述比较返回值
==等于x == 8false
x == “5”true
===绝对等于(值和类型均相等)x === 8false
x === “5”false
!=不等于x!=8true
!==不绝对等于(值和类型有一个不相等,或两个都不相等)x!==“5”true
x!==5false

1.5 条件判断

if……else与switch,与java等同

1.6 循环

  • for

    for(let i = 0;i < 100;i++){
        //执行代码
    }
    
  • for…in

    let a = [9,8,7,65];
    let person={fname:"Bill",lname:"Gates",age:56};
    for (x in person)  // x 为属性名
    {
        console.log(x);
    }
    

    for…in中如上例的x in person 中x代表的是索引,即fname,lname,age,若是对数组使用for…in,打印出的也是索引,即0,1,2,3。

  • while

    同java

  • do…while

    同java

1.7 typeof查看变量类型

typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (如果 myCar 没有声明)
typeof null                   // 返回 object

1.8 类型转换

  • 数字→字符串

    String(100 + 23) // 将数字表达式转换为字符串并返回
    
  • 字符串→数字

    Number("3.14")    // 返回 3.14
    Number(" ")       // 返回 0
    

二、this

2.1 对象方法中

var person = {
  firstName: "John",
  lastName : "Doe",
  id     : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

这里的this这的就是person

2.2 单独使用、函数中

函数中或单独使用 this,则它指向全局(Global)对象。在浏览器中,window 就是该全局对象为 [object Window]:

var x = this;

2.3 事件中的this

在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素:

<button onclick="this.style.display='none'">

三、===与==

3.1 三等号===

  1. 如果两个值类型不相等,则他们不相等。
  2. 如果其中一个值是NaN,或者两个值都是NaN,则他们不相等。NaN和其他任何值都是不相等的,包括本身。通过NaN!==NaN来判断NaN,只有在x为NaN的时候,这个表达式的值才是true.
  3. 0 === -0 返回true
  4. 如果两个值为字符串,且所含的对应位上的16位(注1)完全相等,则他们相等。也可以通过String.localeCompare()来比较字符串
  5. 如果两个值指向同一个对象则他们是相等的。

3.2 双等号==

  1. 如果两个操作数类型相等,则和严格相等操作比较规则一样
  2. 如果一个是null,另一个是undefined则他们相等
  3. 如果一个值是数字,另一个是字符串,先将字符串转化为数字,然后使用转换后的值进行比较
  4. 如果其中一个是true,则将其转换为1再进行比较。如果其中一个是false,则将其转换为0再进行比较。
  5. 如果一个值是对象,另一个是数字或字符串,则先将对象转换为原始值,然后进行比较。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值