JavaScript基础学习笔记

本文详细介绍JavaScript的历史起源、核心构成及特点,讲解了JS代码的多种存放方式,深入探讨了基本语法、变量、标识符和数据类型等内容,为初学者提供全面的入门指南。

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

1、JavaScript简介

①JavaScript诞生于1995年,主要是用于处理网页中的前端验证。所谓的前端验证就是指检查用户输入的内容是否符合一定的规则,比如用户名长度、密码的长度、邮箱的格式等。(ECMAScript是一个标准)

②一个完整的JavaScript实现应该由三个部分构成:ECMAScript(标准)、DOM(文档对象模型-操作对象)、BOM(浏览器对象模型-操作浏览器)。

③JS特点:解释型语言(不需编译,可直接运行)、类似于C和Java的语法结构、动态语言(可保存任意类的对象)、基于原型的面向对象。

2、JS代码在代码中存放位置

①写在head标签里面:直接编写。

②写在标签的属性中:可以这样写,但是他们属于结构与行为耦合,不方便维护,不提倡使用。

③编写在外部js文件中(推荐使用):通过script标签引入,可以在不同的页面同时引用,也可以利用到浏览器的缓存机制。

3、JS基本知识

①JS基本语法

---JS中严格区分大小写

---JS中每一条语句以分号(;)结尾,如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,开发中,分号必须写。

---JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化。

②变量

---字面量:都是一些不可改变的值(比如:1、2、3...),字面量都是可以直接使用的,但是我们一般不会直接使用字面量。

---变量:可以用变量来保存字面量,而且变量的值可以任意改变的,变量更加方便使用。

---变量的使用:在js中使用var关键字来声明变量,为变量赋值。

③标识符:在JS中所有的可以由我们自主命名的都可以称为标识符(例如:变量名、函数名、属性名等都属于标识符)

命名一个标识符需遵守如下规则:

---标识符中可以含有字母、数字、_(下划线)、$

---不能以数字开头

---标识符不能是ES中的关键字或者保留字

---标识符一般使用驼峰命名法(格式:xxxYyyZzz)

注:JS底层保存标识符时实际是采用Unicode编码,理论上所有的utf-8中含有的内容都可以作为标识符。

④JS中的数据类型(数据类型指的就是字面量的类型)

在JS中一共有6中数据类型(String-字符串、Number-数值、Boolean-布尔型、Null-空值、Undefined-未定义、Object-对象),

其中String、Number、Boolean、Null、Undefined属于基本数据类型,Object属于引用数据类型。

基本数据类型说明
String

在JS中字符串需要使用引号引起来,单双引号都可以使用,但是不能混用。(引号不能嵌套)

实例:var str = "hello";

Number

在JS中所有的数值都是Number类型,包括整数和浮点数(小数)

注:可以使用一个运算符typeof来检查一个变量的类型 (语法:typeof  变量)

Boolean

布尔值只有两个值,主要用来做逻辑判断,true-真,false-假

使用typeof检测布尔值时,会返回boolean

Null

Null类型的值就只有一个:Null。null这个值专门用来表示一个为空的对象

typeof检测null值的类型会返回一个object

Undefined

Undefined类型的值只有一个:Undefined

当我们声明一个变量却不赋值时,此变量就是Undefined类型

注:

---在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义。

            (\" 表示 "、\' 表示 '、\n 表示换行、\t 表示制表符、\\ 表示\)

---在JS中整数的运算基本可以保证精确,如果使用JS进行浮点元素的计算,可能得到一个不太精确的结果,

              不能使用JS计算对精确度要求比较高的计算。

⑤强制类型转换:指将一个数据类型强制转换为其他的数据类型

类型转换主要指,将其他的类型转换为String Number Boolean。(其他两种可以,但没有意义)

---将其他的数据类型转换为String

    方式一:调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回。

                   var b = a.toString();

                   注意:是注意:null和Undefined这两个值没有toString()方法,如果调用他们的方法,会报错。

    方式二:调用String()函数,并将被转换的数据作为参数值传递给函数,对于Number和Boolean实际上就是调用toString()方                          法,但是对于null和Undefined来说,不会调用toString()方法,会直接转换为"undefined"。

                   a = String(a);

---将其他的数据类型转换为Number

    方式一:使用Number()函数

                  * 字符串——>数字

                           1.如果是纯数字的字符串,则直接将其转换为数字
                           2.如果字符串中有非数字内容,则转换为NaN
                           3.如果是字符串是一个空串或者全是空格的字符串,则转换为0

                  * 布尔型——>数字

                           1.true 转为  1
                           2.false 转为  0

                  * Null——>数字     转为0

                  * Undefined——>数字      数字NaN

        方式二:这种方式专门用来对付字符串

                  * parseInt():可以将一个字符串中的有效的整数取出来,然后转换为number。

                  * parseFloat():作用和parseInt()类似,不同的是它可能获得有效的小数位。

                  * 如果对非String使用parseInt()或parseFloat(),它会先将其转换为字符串,然后再操作。

---其他进制的数字(了解)

    在JS中如果需要表示16进制的数字,则需要以0x开头;如果需要8进制的数字,则需要以0开头;如果需要2进制的数字,则需     要以0b开头,但是不是所有的浏览器都支持

    可以在parseInt()中传递第二个参数,表明采用什么进制进行解析。

              a = parseInt(a,10);

---将其他数据类型转换为Boolean

     使用boolean()函数:调用Boolean()函数将a转换成布尔值。

     * 数字——>布尔    除了0和NaN,其他的都是true。

     * 字符串——>布尔    除了空串,其他的都是true。

     * 空值——>布尔    转为false。

     * Undefined——>布尔   转为false。

     * 对象——>布尔   true

4、运算符

①算数运算符

运算符说明
+

两个值进行加法运算,并将结果返回

如果对两个字符串进行加法运算,会将两个字符串进行拼接,并返回。

任何的字符串做加法运算都会先转换为字符串,在做拼串操作,利用这一特点,来将任意一个数据类型转换为string。

我们只需要为任意的数据类型 + "" 即可将其转换String(隐式类型转换,系统自动完成)

-

对两个值进行减法运算,并将结果返回

100 - "1"   相当于    100 - 1

*

对两个值进行乘法运算,并返回结果

2 * "8"    相当于2 * 8

/对两个值进行除法运算,并将结果返回
%取模运算(取余数)

注:任何值做    -    *    /  (减法、乘法、除法)运算时都会自动的转换为number,我们可以利用这一特点做隐式的类型转换,可        以通过为一个值   -0   *1   /1  来将其转化为number。

②一元运算符

注:对于非number类型的值涞水,它会将其先转换为number,然后在运算(可以对其他的数据类型使用+号将其转换成number类型)。

③自增/自减

符号说明
自增(++)

通过自增可以使变量在自身的基础上增加1,对于一个变量自增以后,原变量的值会立即自增1。自增分为两种,                 a++/++a,这两种方式都会立即使原变量的值自增1,不同的是a++和++a的值不同。

1. a++的值等于原变量的值(自增前的值)

2. ++a的值等于原变量自增以后的值(自增后的值)

自减(--)

通过自减可以使变量在自身的基础上减1,这两种方式都使原变量的值自减1,不同的是a--和--a的值不同。

1.  a--是变量的原值(自减前的值)

2. --a是变量自减以后的值(自减后的值)

④逻辑运算符

逻辑运算符说明
非(!)

可以用来对一个值进行非运算,所谓非运算就是指对一个布尔值进行取反操作。

true——>false   false——>true

与(&&)

可以对符号两侧的值进行与运算,并返回结果。

JS中的“与”属于短路与,如果第一个数为false,则不会看第二个值。

对于非布尔值的情况:

如果第一个值为true,则必然返回第二个值

如果第一个值为false,则直接返回第一个值

或(||)

可以对符号两侧的值进行或运算并返回结果。

JS中的“或”也是短路的或,如果第一个数为true,第二个值不用检查。

对于非布尔值的情况:

如果第一个值为true,则直接返回第一个值

如果第一个值为false,则直接返回第二个值

⑤条件运算符(也叫三元运算符)

语法:条件表达式?语句1:语句2;

执行的流程:条件运算符在执行时,首先对条件表达式进行求值。如果该值为true,则执行语句1,并返回执行结果;任何该值为false,则执行语句2,并返回执行结果。

⑥运算符的优先级

---先乘除,后加减

---在JS中有一个符号优先级的表,在表上越靠上优先级越高,优先级越高优先计算。如果优先级一样,则从左往右计算。

---可以使用括号改变优先级

5、语句

分为条件判断语句、条件分支语句、循环语句。

①条件判断语句:使用条件判断语句可以在执行某个语句之前进行判断,条件成立则执行,条件不成立则不执行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值