初识javascript
一、Javascript的历史
- JavaScript 诞生于 1995 年。布兰登·艾奇(Brendan Eich)开发。
- JavaScript是一种轻量级、解释型的Web开发脚本语言
- 浏览器脚本语言,可以编写运行在浏览器上的程序
- 负责编写页面特效、调用浏览器的API(BOM)、操作改变页面内容(DOM),从后端获取数据(Ajax),渲染页面等
- 文件后缀:.js
二、javascript的组成及用途
组成
- 核心(ECMAScript):描述了该语言的语法和基本对象。
- 文档对象模型(DOM):描述处理网页内容的方法和接口。
- 浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口。
编写Js及如何运行Js
- Html标签内部编写JavaScript代码--不推荐使用。
- Html文件内部编写JavaScript代码。
三、 变量的概念 - 重点
概念:
所谓变量,就是特定时间用于保存特定值的一个名字而已,并且初始化后可以再次改变的量。
声明定义:
使用 var 操作符(var是关键字),后面跟一个变量名(变量名是标识符),声明多个变量的时候,可以在一行或者多行操作,只要把每个变量用逗号分隔开即可,但最好分行写,可读性佳。
变量的特点
初始化后可以再次改变
变量是松散类型的,可以用来保存任何类型的数据。
变量提升
同时声明多个
写入内存
命名规则:
数字、字母、下划线、$符号组成,其中数字不能做开头。并且变量名应做到见名知意,常用的方式有驼峰命名法,匈牙利命名法,同时变量名不能是保留字或者关键字 。
关键字:一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。
保留字:尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字。
驼峰命名:第二个单词开始,首字母大写。
大驼峰:第一个单词的首字母大写 UserName
小驼峰:第二个单词开始首字母大写 userName / getElementById()
变量的数据类型(Undefined、Null:特殊类型)
ECMAScript 中有 5 种简单数据类型:number数字 、 string字符串、boolean布尔值、undefined未定义、null空对象。
还有一种复杂数据类型(引用类型)——object
检测变量类型的方法:typeof( 变量名 ) 或者 typeof 变量名
变量的数据类型(Undefined、Null:特殊类型)
ECMAScript 中有 5 种简单数据类型:number数字 、 string字符串、boolean布尔值、undefined未定义、null空对象。
还有一种复杂数据类型(引用类型)——object
检测变量类型的方法:typeof( 变量名 ) 或者 typeof 变量名
四、赋值、数学、关系运算符的讲解
赋值运算符 = 将等式右边的结果赋值给左边。
javascript使用“ = ”运算符来给变量或者属性赋值(最低优先级)
复合赋值操作 +=、-=、*=、/=、%= 带操作的复合赋值运算。(更快捷,更优)。
数学运算符 + - * / %
+:求和,连接字符作用(字符串和变量之间使用+号进行拼接)
%:求余数(求模)
关系运算符(结果为布尔值) <、>、<=、>=、== ( 相等 )、=== (全等)、!=(不相等) !==(不全等)
理解=、== 、===运算符之间的区别。
理解相等和恒等运算符
五、(逻辑运算符:&& 与、|| 或、! 非)
逻辑与(&&)操作可以应用于任何类型的操作数,而不仅仅是布尔值。在有一个操作数不是布尔值的情况下,
逻辑与操作就不一定返回布尔值。逻辑与操作属于短路操作,即如果第一个操作数能够决定结果,那么就不
会再对第二个操作数求值。
逻辑或(||)和逻辑与操作相似,如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值,逻辑或操作符也
是短路操作符。也就是说,如果第一个操作数的求值结果为true ,就不会对第二个操作数求值了。
逻辑非操作符由一个叹号(!)表示,可以应用于 ECMAScript 中的任何值。无论这个值是什么数据类型,
这个操作符都会返回一个布尔值。逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再对其求反。
总结
逻辑与找的假的立刻结束,形成短路,
逻辑或找到真的立刻结束,形成短路。
六、一元运算符:++ 和 --
只能操作一个值的操作符叫做一元操作符,是 ECMAScript 中最简单的操作符。
前置型应该位于要操作的变量之前,先将操作数+1或者减1,再参与运算。
后置型则应该位于要操作的变量之后,先参与运算后自身再+1或者减1。
七、变量不同类型之间的转换
显式转换:系统强制转换或者手动转换
强制转换方法:Number( ) 、String( )、Boolean( )
字符串转数字:parseInt( )、parseFloat( )
保留小数:toFixed(小数位数)
隐式转换:系统自动根据当前的符号进行转换 - 重要
+ - * / % == ++ -- ! ......
八、NaN和isNaN介绍
NaN的概念及应用
当数学计算无法得到数字结果,该变量的值为NaN(not a number)
注意:因为NaN代表非数字,它不等于任何值,也不能做运算,
即使alert(NaN == NaN); 结果也是false typeof NaN ===‘number’
isNaN(num)方法,该方法判断num变量的值是否是NaN(不是一个数字),结果是布尔值,如果num不是一个数字输出true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)