今日内容:
0 编程语言及计算机基础概念
1 程序学习心法
2 js简介
3 js基本使用*
4 js变量*
5 js数据类型及数据类型转换*
编程语言及计算机基础
- 程序:用特定规则编写的让计算机帮我们完成某些任务的指令
- 编程语言:
- 编程语言分类: 机器语言 汇编语言 高级语言
- js与html/css区别:js逻辑性较强主动执行,html/css被动地被读取逻辑性相对较弱
- 计算机基础:
- 计算机组成:
- 硬件 CPU+存储系统(内存+外存)+输入输出系统
- 软件 系统软件+应用软件
- 计算机组成:
- 数据存储 单位: bit 位 byte 字节 k 1024字节 M 1024k G 1024M T 1024G
- 程序执行过程 硬盘—> 内存 —>cpu
程序学习心法
- 放松,保持好奇,探索的心态
- 认真听讲,积极互动,跟上
- 多总结(what how why)
- 多练习多测试 (程序像说话,需要大量说,说出才算数,不说都是空)
js简介
- 历史:1995发明
- 作用:最初用于实现表单验证,后面被广泛用于实现各种页面交互包括服务端、物联网等等
- 和html/css关系:html/css分别控制结构和样式, js控制整个页面的交互效果,js可以改变html及css
- 执行过程: 浏览器分为 渲染引擎及js执行引擎,js代码由js引擎逐行解释执行。
- 组成:ECMAScript(ES) + DOM + BOM
js基本使用
js语句书写位置
- 行内式(不推荐使用)
- 内嵌式
- 外部 注意:此时script标签之间不能写代码
js注释
- 单行
- 多行
// alert('Hello WORLD!') 单行注释 快捷键: ctrl+/ 再次 ctrl+/取消注释
/*alert('Hello WORLD!')*/ //多行注释,使用相对较少 快捷键: shift+ctrl+ /
js基本输入输出
prompt('请输入')
alert('hello') //弹框输出
console.log('helo') // 控制台输出
js变量
- 变量作用 存放数据
- 变量声明 var age;
- 变量赋值 age = 20; //实际使用时 声明和赋值 常 写到一起var age = 20; console.log(age)
- 变量语法扩展:
- 多次赋值时以最后一次为准
- 可同时声明多个变量 如 var a,b=1,c;
- 未声明及赋值 直接输出 时 报错
- 只声明 不赋值 值为undefined
- 不声明 直接赋值 不报错,但强烈不建议这样用
- 变量命名规则:
- 只能由 英文大小写字母、数字、$、_构成,且不能以数字开头
- 不能使用关键字/保留字 如 var for while do class …
- 见名知意(英文单词或拼音)
- 包含多个单词时 建议 用驼峰法
- 严格区分大小写 Age和age是两个变量
- 部份名称有特殊含义(不是关键字),尽量不要作为变量名 如name top
- 案例
// 交换任意两个变量的值
var a = 1,b=2;
var tmp = a;
a = b;
b = tmp;// 完成交换
js数据类型及类型转换
数据类型
问题:
1 js数据类型有哪些?并列举各种数据类型中的1-2个值
2 数据类型转换有哪两种方式?
可分为两大类:
- 简单数据类型:number string boolean undefined null
- 复杂数据类型: object | 类型 | 举例 | 备注 | | —- | —- | —- | | number | 1 1.5 2.5e3 015 0x2f | Number.MAX_VALUE … NaN isNaN()判断是否为非数字 | | string | ‘abc’ ‘中国’ | 字符串.length 获取字符串长度 + 两边有一个字符串表示拼接 \n 换行 \为转义字符 | | boolean | true false | 和数字 相加时 true相当于1 false相当于0 | | undefined | undefined | 和任何非字符串类型相加均得到NaN | | null | null | typeof null //object 和数字相加 相当于0 | | object | {name:’zhangsan’,age:18} [1,2,3] | |
数据类型检测
typeof 变量/字面量 //得到的结果均为字符串类型 'string' 'number'
数据表现形式
- 字面量/直接量:13 ‘abc’ true null undefined {} []
- 变量:age uname 必须先声明再使用
类型转换
//其他类型转成字符串
String(123) //'123' 显式转换
123+'' // '123' 隐式转换
//其他类型转成数字型
parseInt('123a') //123
parseFloat('123.4abc') // 123.4
Number('123') // 123
'123'-0 // 123
//其他类型转换成bool型,0 '' null undefined NaN均相当于false,其他数值相当于true
Boolean(123) // true