黑马程序员JavaScript视频学习笔记
JS是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。可以实现
<head>
<style>
.pink {
background-color: pink;
}
style>
head>
<body>
<button>按钮1button>
<button>按钮2button>
<button>按钮3button>
<button>按钮4button>
<script>
let bts = document.querySelectorAll('button')
for(let i = 0; i < bts.length; i++) {
bts[i].addEventListener('click', function(){
document.querySelector('.pink').className = ' '
this.className = 'pink'
})
}
script>
body>
直接卸载html文件里,用script标签包裹,写在/body
上面
<body>
<script>
//弹出警示框
alert('你好,js')
script>
body>
首先讲JS写到一个单独的文件中,比如叫my.js
然后引入
<boby>
<script src='./my.js'>script>
boby>
<boby>
<button onclick="alert('内联js')">
hhh
button>
boby>
// 这是一个注释
快捷键
ctrl + /
/*
这是多行注释
*/
快捷键
shift + alt + A
JS代码每一句代码后面没有强制要求的结束符,但是可以在每一行代码后面可以用分号作为结束符,可以根据团队需要来进行选择
<body>
<script>
document.write('Hello World')
document.write("我是标签"
)
script>
body>
页面中打印输出
alert('输出内容')
控制台输出语法,程序员调试使用
console.log('控制台打印')
prompt('请输入你的姓名')
效果:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字
alert()
和prompt()
会跳过页面渲染先被执行变量是计算机中用来存储数据的容器
语法:let 变量名
let age
语法:变量 = 字面量/数据
age = 18
console.log(age)
在声明的同时直接赋值
let age = 18
let age = 18
age = 19
更新的时候不能
let age = 19
,因为不能重复声明变量
语法:中间用逗号隔开
let age = 18, uname = 'minxin'
不推荐,可读性较差。多行变量更容易阅读
let uname = prompt('请输入姓名')
let address = prompt('请输入地址')
let num = prompt('请输入购买数量')
let
Age
和age
是两个不同的变量userName
语法:let 数组名 = [数据1, 数据2, ..., 数据n]
let arr = [10, 20, 30]
使用数组,从0开始编号
console.log(arr)
console.log(arr[0])
数组长度
console.log(arr.length)
使用const
声明的变量称为常量,常量不允许重新赋值,声明的时候必须初始化
const G = 9.8
变量命名规则与规范与变量相同
JS是弱数据类型的语言
可以是整数、小数、正数、负数。可以使用各种数字运算符。
运算符 | 含义 | 示例代码 | 输出 |
---|---|---|---|
+ | 求和 | 3 + 2 |
5 |
- | 求差 | 5 - 2 |
3 |
* | 求积 | 4 * 2 |
8 |
/ | 求商 | 6 / 3 |
2 |
% | 取模(余数) | 7 % 3 |
1 |
通过单引号或双引号或反引号包裹的数据都叫字符串,单引号和双引号本质没有区别
let str = 'pink'
let str2 = "pink"
let str3 = `pink`
let str4 = ' ' // 这种情况是空字符串
console.log('min'+'xin')
let age = 19
console.log('我今年' + age)
更方便的字符串拼接
语法:
${}
包裹变量let age = 18
console.log(`我今年${age}岁了`)
只有True和False两种类型
let isCool = flase
只有一个值undefined,如果只声明了变量,没有赋值,变量默认值为undefined
let num
console.log(num)
null表示赋值了,但是内容为空,数据类型为对象
let obj = null
通过typeof
关键字,有两种形式
typeof x
typeof(x)
因为通过prompt
获得的输入默认是字符串型,而有些时候我们需要其他数据类型,所以我们需要类型转换。数据类型就是将一种数据类型转换成另一种隐式转换
在某些运算符被执行时,系统内部自动将数据类型进行转换。比如
+ '123'
会将后面的字符串转换为数字类型转类型不明确,需要经验总结
Number(变量名)
parseInt()
只保留整数parseFloat()
可以保留小数String()
boolean()
!!value
Number("123") // 123
Number("123.45") // 123.45
Number("abc") // NaN(非数字)
parseInt("123px") // 123
parseInt("12.34") // 12(只保留整数部分)
parseInt("abc") // NaN
parseFloat("123.45") // 123.45
parseFloat("12px") // 12
parseFloat("abc") // NaN
String(123) // "123"
String(true) // "true"
String(null) // "null"
String(undefined) // "undefined"
Boolean(0) // false
Boolean("") // false
Boolean(null) // false
Boolean(undefined) // false
Boolean("hello") // true
Boolean(123) // true
!!0 // false
!!"text" // true
!!null // false
!![] // true (空数组也为真)
!!{} // true (空对象也为真)