今日内容:

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注释

  • 单行
  • 多行
  1. // alert('Hello WORLD!') 单行注释 快捷键: ctrl+/ 再次 ctrl+/取消注释
  2. /*alert('Hello WORLD!')*/ //多行注释,使用相对较少 快捷键: shift+ctrl+ /

js基本输入输出

  1. prompt('请输入')
  2. alert('hello') //弹框输出
  3. 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
  • 案例
    1. // 交换任意两个变量的值
    2. var a = 1,b=2;
    3. var tmp = a;
    4. a = b;
    5. 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] | |

数据类型检测

  1. typeof 变量/字面量 //得到的结果均为字符串类型 'string' 'number'

数据表现形式

  • 字面量/直接量:13 ‘abc’ true null undefined {} []
  • 变量:age uname 必须先声明再使用

类型转换

  1. //其他类型转成字符串
  2. String(123) //'123' 显式转换
  3. 123+'' // '123' 隐式转换
  4. //其他类型转成数字型
  5. parseInt('123a') //123
  6. parseFloat('123.4abc') // 123.4
  7. Number('123') // 123
  8. '123'-0 // 123
  9. //其他类型转换成bool型,0 '' null undefined NaN均相当于false,其他数值相当于true
  10. Boolean(123) // true