一、变量
1. 变量是什么,有什么用
-
2. 声明(定义)变量
3. 赋值, 再次赋值会覆盖原值
// 变量的声明var username;var age;// 变量的赋值username = '张三';age = 18;// 变量的声明和赋值同时进行var username2 = '李四';console.log(username2); // 李四username2 = '王五';console.log(username2); // 王五// 下面是错误做法,不应该重复声明var username2 = 'chenliu';
二、js 变量命名规范
1. 区分大小写(html 不区分大小写)
2. 标识符(比如变量名称等) (1) 以字母、下划线、$开头 (2) 其他字符可以是字母、下划线、$或数字 (3) 驼峰式:小写字母开头,第二个打次首字母大写
3. 注释 单行注释 多行注释
4. 关键字和保留字 关键字:系统在使用 保留字:系统将来可能用到 _ 不能作为标识符来使用 * 用来作标识符就会报错
<body><div>asdfasdfasdf</div><DIV>ASDFASDFASDFASDF</DIV><div data-cardId="654654654654654645646466">必踩的坑</div><script>// 变量 a 和 A 是两个不相同的变量var a = 100;var A = 200;// 驼峰式命名: 小写字母开头,第二个单词首字母大写var cartId;var cartList;// 关键字和保留字,使用了就会报错var continue;var if;</script>
三、变量有哪些类型
1. 数字 Number 类型
- 整数
- 小数
- 最大值和最小值 (了解)
- NAN : 不是数字的数字
typeof 判断变量的类型
<script>// 数字类型: 整数var count = 40;var price = 3.5;// 最大值和最小值var maxValue = Number.MAX_VALUE;var minValue = Number.MIN_VALUE;// NaN 不是数字的数字 Not a Numbervar aaa = NaN;console.log(typeof count); // numberconsole.log(typeof aaa); // number</script>
2. String 类型 字符串
有三种表达方式: 双引号, 单引号, 反引号
- 推荐使用单引号
- 如果字符串中含有引号, 单双引号同时使用
字符串可以通过 + 进行拼接
<script>// 方式1: 双引号var username = "张三";// 方式2: 单引号var password = '123456';// 方式3: 反引号(模板字符串)var text = `我们是中国人`;// 字符串中包含引号var text1 = '我们是"中国人"';// 字符串拼接var firstName = 'Tom';var lastName = 'Jame';var fullName = firstName + lastName;console.log('fullName:',fullName);</script>
3. Boolean 类型 true 和 false
只有true和false两个值
- 变量命名一般用疑问句
<script>var isOpen = true;var opened = false;var finished = true;console.log(typeof isOpen); // booleanconsole.log(typeof opened); // boolean</script>
4. Undifined 类型 undefined
用来表示声明了变量但未初始化(赋值)
<script>var username;console.log(username); // undefinedvar username2 = 'huruqing';console.log(username2);</script>
5. Object 类型
普通对象(无序集合)
- 对象的属性是无序的, 那个属性在前在后都没关系
- 读取属性的两种方式
- 修改对象属性
<script>// 定义对象var girlFriend = {height: 180,age: 18,sex: '女',}// 读取对象属性, 方式1 常用console.log('年龄:',girlFriend.age);console.log('身高:',girlFriend.height);// 读取对象属性, 方式2 偶尔使用console.log('身高:',girlFriend['age']);// 修改对象属性girlFriend.age = 60;console.log('修改后的年龄', girlFriend.age);</script>
数组(特殊对象,有序集合)
<script>// 1.数组可以存放任意类型的是变量var arr = [111,'a', true, {a:2}];// 2.一般情况下,数组成员都是同一个类型var ages = [10,20,30,40];/*** 3.数组成员的读取* 第一个成员 ages[0];* 第二个成员 ages[1];*/console.log('第一个成员',ages[0]);console.log('第二个成员',ages[1]);console.log('第三个成员',ages[2]);console.log('第四个成员',ages[3]);console.log('第五个成员',ages[4]); // 没有第五个成员,它的值是: undefineddebugger;// 4.数组的长度console.log('数组的长度:',ages.length);// 5. 读取最后一个成员var len = ages.length;console.log('最后一个成员:',ages[len-1]);</script>
6. Null 类型 null
声明一个变量准备用来存储对象
<script>var obj = null;console.log(typeof obj); // object</script>
资料 1: 课堂练习
- 数据类型有哪几种(提问)
- 数字, 字符串, 布尔, 对象, undifined, null
- 什么时候数据类型会是 undefined?
- 声明了变量, 但是没有赋值, 变量的值就是undefined
- 字符串有哪几种形式,一般用那种?
- 单引号, 双引号, 反引号(模板字符串)
- 常见的数字有哪些?
- 整数, 小数, 最大值和最小值
- var obj = {name: ‘王菲’, age: 40} ,用两种方式在控制台打印属性值 name 的值
- console.log(obj.name);
- console.log(obj[‘name’]);
- 数组练习
(1) 打印对象里数组的长度
a. console.log(result.list.length);
b. var arr= result.list; console.log(arr.length);
(2) 打印数组最后一个成员的所有属性值
console.log(result.list[result.list.length-1]); // 不太好的做法
// 获取数组的长度
var len = result.list.length;
// 获取最后一个成员
var item = result[len-1];
// 打印该成员的所有属性
console.log(item.categoryId);
console.log(item.name);
console.log(item.iconUrl);var result = {"code": 666,"msg": "success","list": [{"categoryId": 145,"name": "时令鲜果","iconUrl": "/img/fresh/other/r1.png"}, {"categoryId": 243,"name": "海鲜水产","iconUrl": "/img/fresh/other/r2.png"}, {"categoryId": 279,"name": "家禽蛋","iconUrl": "/img/fresh/other/r3.png"}, {"categoryId": 346,"name": "地方农产","iconUrl": "/img/fresh/other/r4.png"}, {"categoryId": 436,"name": "百果园公司","iconUrl": "/img/fresh/other/r5.png"}, {"categoryId": 357,"name": "农品茗茶","iconUrl": "/img/fresh/other/r6.png"}, {"categoryId": 6,"name": "五谷杂粮","iconUrl": "/img/fresh/other/r7.png"}, {"categoryId": 311,"name": "牛羊肉","iconUrl": "/img/fresh/other/r8.png"}]}
资料 2: 作业
作业1:
把老师上课的代码全部自己敲一遍到三遍, 把有疑问的地方记录下来
作业2:
作业要求: 把答案写在语雀上, 提交作业发语雀链接即可
- 变量是什么,有什么用?
- 变量有哪几种数据类型,其中简单(基本)数据类型有哪些,复杂(引用)数据类型又有哪些?
- undefined 和 null 有什么区别?
- 根据链接里迪丽热巴的个人信息, 使用一个对象来存放她的个人信息, 迪丽热巴个人介绍
- 定义一个对象存放电影详情页面的数据
- 定义个数组存放电影列表数据信息(至少 5 条信息)
- 定义一个对象, 存放特惠页面信息
- 附加题: 有一个数组, var starList = [‘赵丽颖’, ‘迪丽热巴’, ‘佟丽娅’, ‘王丽坤’, ‘李丽珍’, ‘邓丽君’];;把数组成员输出到页面上.
附加作业:
- 完成卖座网电影详情静态页面的编写
- 完成水果生鲜销售这个网站静态页面的编写
- 使用今天所学的知识去描述水果生鲜每个页面的信息
