javaScript基础
javaScript笔记
JavaScript
编程语言允许你在 Web 页面上实现复杂的功能。如果你看到一个网页不仅仅显示静态的信息,而是显示依时间更新的内容,或者交互式地图,或者 2D/3D 动画图像,或者滚动的视频播放器,等等——你基本可以确定,这需要 JavaScript 的参与。
注意:在学习JavaScript之前要先掌握HTML与CSS
预备知识: | 计算机基础知识,初步理解 HTML 和 CSS |
---|---|
目标: | 初步了解 JavaScript,包括一些概念、用途、嵌入网站的方法 |
现在开启我们的JavaScript之旅
JavaScript用法
- 写在HTML中
- HTML 中的 Javascript 脚本代码必须位于
<script>
与</script>
标签之间。 - Javascript 脚本代码可被放置在 HTML 页面的
<body>
和<head>
部分中。 - 行内也行
- HTML 中的 Javascript 脚本代码必须位于
- 创建js文件,写在文件中,最后引用。(同css)
<script src="myScript.js"></script>
注释
注释:
对你写的JavaScript代码实现的功能进行概括解释,方便以后知道这一坨代码是干嘛的;在程序不会执行。
符号 | 作用 |
---|---|
// 文本内容 | 单行注释 |
/* 文本内容 */ | 多行注释 |
变量
变量:
是用于存储信息的"容器";也可理解为通过标签、代号、名字指代一个对象。
定义变量结构:
var 变量名 = 数据
var
:变量定义关键字变量名
:你可以自定义名字(随便,最好是英文)数据
:根据日后实际填写,可以是数字、字符串、布尔值等
除了关键字var
,还有let
关键字可以定义变量
let 变量名 = 数据
区别:
var
允许在同一作用域中声明同名的变量,而let
不可以
全局作用域
var
和let
声明的变量在全局作用域中被定义时,两者非常相似
let bar = 'hehe';
var baz = 'lala';
- 但是,被
let
声明的变量不会作为全局对象window
的属性,而被var
声明的变量却可以
console.log(window.bar); //undefined
console.log(window.baz); // 'able'
函数作用域
var
和let
在函数作用域中声明一个变量,两个变量的意义是相同的
function aFun(){
let bar = 'hehe'; // 函数作用域中的变量
var baz = 'lala'; // 函数作用域中的变量
}
块作用域
- 在块作用域中两者的区别较为明显,
let
只在for()
循环中可用,而var
是对于包围for()
循环的整个函数可用
function aFun1(){
// i 对于for循环外的范围是不可见的(i is not defined)
for(let i = 1; i<5; i++){
// i只有在这里是可见的
}
// i 对于for循环外的范围是不可见的(i is not defined)
}
function aFun2(){
// i 对于for循环外的范围是可见的
for(var i = 1;i<5; i++){
// i 在for 在整个函数体内都是可见的
}
// i 对于for循环外的范围是可见的
}
常量
ES6标准引入了新的关键字const来定义常量,const与let都具有块级作用域:
const PI = 3.14;
PI = 3; // 某些浏览器不报错,但是无效果!
PI; // 3.14
数据类型
数据类型
分为两大类:基本类型
和对象类型
可通过typeof()来判断数据类型
- 基本类型
基本类型 | 名称 | 实例 |
---|---|---|
数字(Number) | 1.整数 2.浮点数 3.科学计数法e | 2 / 0.34 / 2e2=200 |
字符串(String) | "内容" | "123" / "字符" |
布尔(Boolean) | true / false | |
空(Null) | Null | 有值为null |
未定义(Undefined) | Undefined | 无值 |
Symbol |
- number
123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
- string
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。
- boolean
true; // 这是一个true值
false; // 这是一个false值
2 > 1; // 这是一个true值
2 >= 3; // 这是一个false值
&&运算是与运算,只有所有都为true,&&运算结果才是true:
true && true; // 这个&&语句计算结果为true
true && false; // 这个&&语句计算结果为false
false && true && false; // 这个&&语句计算结果为false
||运算是或运算,只要其中有一个为true,||运算结果就是true:
false || false; // 这个||语句计算结果为false
true || false; // 这个||语句计算结果为true
false || true || false; // 这个||语句计算结果为true
!运算是非运算,它是一个单目运算符,把true变成false,false变成true:
! true; // 结果为false
! false; // 结果为true
! (2 > 5); // 结果为true
- 对象类型
对象类型 | 名称 | 实例 |
---|---|---|
对象(Object) | 同python字典 | var person={firstname:"John", lastname:"Doe", id:5566}; |
数组(Array) | var cars=new Array("Saab","Volvo","BMW"); | var cars=new Array(); |
函数(Function) | ||
正则(RegExp) | ||
日期(Date) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!