1- JavaScript基本语法

本文介绍了JavaScript的起源,基本写法,如内联、行内和外联JS,以及各种输出方法如alert和console.log。详细讲解了变量的定义、命名规则和数据类型,包括number、string、boolean、undefined和object。此外,还涵盖了运算符,如算术、比较、赋值和逻辑运算,以及类型转换的方法和规则。

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

目录

js的由来 :

js的基本写法:

js的输出:

变量:

定义:

变量名的命名规则:

数据类型:

1.数字类型  ---  number

NaN:

2.字符串类型  --- String

3.布尔类型   ---  boolean

4.undefined ---  未定义类型

5.object

运算符

算数运算

比较运算(关系运算)

赋值运算

逻辑运算

自增自减运算

类型转换

1.强制转换

2.隐形转换


js的由来 :

为了在浏览器就能对数据校验 , 不浪费跟服务器交互的过程

js是支持面向对象的跨平台的脚本语言

ECMA统一成3大组成部分:DOM BOM ECMAScript

js的基本写法:

    内联:在html中通过script双标签内部写js代码

    行内:在html标签中通过属性写js代码

    外联:将js代码写在js文件中,通过script标签的src属性引入外部js文件

    script标签如果引入了外部文件就无法使用内联了

js的输出:

      alert()       ----     以弹窗的形式显示

      confirm()   ----    询问用户是否确认操作的弹窗

      prompt()    ----  可输入内容的弹窗

      document.write()       ----   以文本的形式显示

      console.log()     ----   浏览器控制台输出

变量:

存储数据的一个容器

定义:

 var 变量名

        var 变量名 = 值

        let

        const

        var 变量1, 变量2 = 值

变量名的命名规则:

变量名由字母、数字、下划线、美元符号组成,不能用数字开头,不能使用关键字作为变量名。

数据类型:

1.数字类型  ---  number

NaN:

是一个不知道是多少的数字(表示非数字)。跟任何数据进行任何比较运算结果都是false、任何数字进行数学运算结果都是NaN。

NaN不等于任何值,包括NaN本身

isNaN(数据)   是检测一个数据转成数字是否是NaN

                      数据转成数字是NaN返回true

                      数据转成数字不是NaN(就转成了具体数字)返回false

 isNaN('123abc') - 用Number工具转换的

小数计算不精准

原因:计算机内部使用二进制存储数据和运算,十进制数字要转成二进制,小数转二进制可能会造成无限死循环,最终会四舍五入保留一部分,导致存储就不精准。计算结果也不精准。

解决:

            1.强制保留小数点后多少位 - 数字.toFixed(位数)

            2.每个数字乘以10的n次方,计算后再除以10的n次方

 强制转换:

            Number() - 转成0的:'' false null [ ]   ,  纯数字类字符串转成具体的数字,其余都是NaN

            parseInt()

            parseFloat()

2.字符串类型  --- String

引号嵌套问题,单引号不能嵌套单引号,双引号不能嵌套双引号,除非转义

字符串和字符串之间,可以进行加法运算,将两个字符串进行拼接,连接成一个更大的字符串

 + 左右两边只要有一个是字符串,就会进行字符串之间的拼接

3.布尔类型   ---  boolean

4.undefined ---  未定义类型

定义了变量未赋值的时候,变量的值是undefined,类型是undefined

没有实参给赋值的形参,默认值是undefined

读取对象中并不存在的属性 

函数中没有返回值,默认返回undefined

函数中有return,return后没有内容,默认返回undefined

5.object

object类型,在js中有3种表现形式,分别是:

null

用[ ]定义的数据

用{ }定义的数据

function

运算符

一元运算符

只需要一个操作数

+ 正号   证号不会对数字产生任何影响

- 负号    负号可以对数字进行负号的取反

             对于非Number类型的值,它将会先转换为Number,然后再运算

             可以对一个其他的数据类型使用+,来将其转换为Number

算数运算

+       加

-        减

*        乘

/         除

%      求余

比较运算(关系运算)

通过关系运算符可以比较两个值之间的大小关系

如果关系成立它会返回true,如果关系不成立则会返回false

任何值和NaN做任何比较都是false

非数值的情况

        对于非数值进行比较时,会将其转换为数字然后比较

        如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而会分别比较字符串字符的Unicode编码 

                比较两个字符串时,比较的是字符串的字符编码  比较字符编码是一位一位进行比较,如果两位一样,则比较下一位,所以借用它来对英文进行排序

注意:在比较两个字符串型的数字时,一定要转型

在字符串中使用转义字符输入Unicode编码

        \u四位编码 (16进制)

在网页中使用Unicode编码

        &#9760 (10进制)

>

>=

<

<=

==           等于(主要用于判断两边的值是否相等)如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再进行比较

        undefined衍生自null  所以这啷个值做相等判断时,会返回true

        NaN不和任何值相等,包括它本身(可以通过isNaN() 函数来判断一个值是否是NaN,如果该值是NaN则返回true,否则返回false

===         全等于(先判断两边的类型是否相等,类型相等再判断值是否相等)不会做自动的类型准换,类型不同直接返回false

!=            不等于,等于的反义词,等于为false的时候,不等于就为true 

!==          不全等,全等的反义词,全等为false的时候,不全等就为true  不会做自动的类型准换

关系运算最后的结果只有两种,一种是真,一种是假,也就是布尔型的truefalse

赋值运算

+=         

-=

*=

/=

%=

逻辑运算

&&(与,并且)           左右两边都为true,最后结果才为true,否则就是false

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

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

||(或者)                     左右两边只要有一个true,最后结果就为true,否则就是false

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

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

!(非,取反)            将true处理为false,将false处理为true

自增自减运算

 自增    变量++    ++变量

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

             ++a的值等于原变量的新值(自增后的值)

 自减    变量--      --变量

 当碰到赋值、输出、运算的时候,符号在前就先自增自减,符号在后就后进行自增自减

三元运算符(条件运算符)

语法:

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

执行流程:

        条件运算符在执行时,首先对条件表达式进行求值

        如果该值为true,则执行语句1,并返回执行结果

        如果该值为false,则执行语句2,并返回执行结果 

类型转换

类型转换分为:

强制转换:可以看出来在使用专业的工具进行了转换

隐形转换:我们在处理另一件事情,这件事情就转变了

1.强制转换

1.强制转换为数字

语法:Number(被转换的数据)

[ ], false, null,空字符串 转成0

纯数字类的字符串能转成具体的数字

其他字符串都会转成NaN

2.强制转换成字符串

语法:String(被转的数据)

   { }定义的对象转化结果 - [object Object]

    [ ]定义的对象转换结果 - 去掉中括号的字符串

    undefined和null不能使用toString转换

3.强制转换成布尔值

语法:Boolean(被转的数据)

数字0、空字符串、undefined、null转成false

其余都转成true

{ }定义的对象转成布尔都是true

 [ ]定义的对象转成布尔都是true

2.隐形转换

+  当左右两边有一个是字符串的时候,另一个也会隐形的转成字符串进行拼接

数学运算符号   会将左右两边的数据都转成数字进行数学运算

比较运算符  左右两边有一个是数字,另一个也会转成数字进行数字大小的比较

放在分支语句小括号中的内容会隐形转成布尔类型去判断

运算符的优先级

, 运算符

        使用,可以分割多个语句,一般可以在声明多个变量时使用

        例: var a , b , c

        可以声明多个变量并赋值

        例:var a=1 , b=2 , c=3

和数学中一样,在JS中的运算符也有优先级 , 先乘除, 后加减

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

这个表不需要记忆,如果遇到优先级拿不准的情况下,可以使用()来改变优先级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值