疏导
学习指标:
节数 | 知识点 | 要求 |
---|---|---|
第一节(js的前世今生) | js简介 | 理解 |
第二节(js的语法结构) | 页面引入js的几种形式 | 理解 |
js输入的几种形式 | 理解 | |
js的语法规定 | 理解 | |
第三节(Javascript名词解释) | 数字字面量 | 把握 |
字符串字面量 | 把握 | |
常量 | 了解 | |
第四节(Javascript变量命名规定(重点)) | 申明变量 | 把握 |
变量晋升 | 把握 | |
变量的命名规定 | 理解 | |
第五节(Javascript数据类型(重点)) | 根本数据类型 | 把握 |
第六节(Javascript运算符(重点)) | 逻辑运算符 | 把握 |
什么是语言?
什么是计算机语言?
机器语言,汇编语言,高级语言。
少儿编程语言
计算机存储单位
计算机数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。
1B(Byte字节)=8bit,
1KB (Kilobyte 千字节)=1024B,
1MB (Mega byte 兆字节 简称“兆”)=1024KB,
1GB (Giga byte 吉字节 又称“千兆”)=1024MB,
1TB (Tera byte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Peta byte 千万亿字节 拍字节)=1024TB,
1EB(Exa byte 百亿亿字节 艾字节)=1024PB,
1ZB (Zetta byte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yotta byte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Bronto byte 一千亿亿亿字节)= 1024 YB,
Javascript简介
js的前世今生
备注94通过微信
JavaScript一种直译式脚本语言,是一种动静类型、弱类型、基于原型的语言,最早是在HTML网页上应用,用来给HTML网页减少动静性能。
动静:在运行时确定数据类型。变量应用之前不须要类型申明,通常变量的类型是被赋值的那个值的类型。
弱类:计算时能够不同类型之间对使用者通明地隐式转换,即便类型不正确,也能通过隐式转换来失去正确的类型。
原型:新对象继承对象(作为模版),将本身的属性共享给新对象,模版对象称为原型。这样新对象实例化后岂但能够享有本人创立时和运行时定义的属性,而且能够享有原型对象的属性。
脚本语言:不须要编译器编译。
在1995年时,由Netscape公司的布兰登·艾奇(Brendan Eich,1961年~),JavaScript的发明人,在网景导航者浏览器(Navigator)上首次设计实现而成。
因为网景公司心愿能在动态HTML页面上增加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。你没看错,这哥们只用了10天工夫。
为什么起名叫JavaScript?起因是过后Java语言十分红火,所以网景公司心愿借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其余局部基本上没啥关系。
Netscape在最后将其脚本语言命名为LiveScript,起初Netscape在与Sun单干之后将其改名为JavaScript。
Javascript的三个次要组成部分是:ECMAScript(外围),DOM(文档对象模型),BOM(浏览器对象模型)。
和Java区别
js的特点
1、是一种解释性脚本语言(代码不进行预编译)。
2、次要用来向HTML(规范通用标记语言下的一个利用)页面增加交互行为。
3、能够间接嵌入HTML页面,但写成独自的js文件有利于构造和行为的拆散。
4、跨平台个性,在绝大多数浏览器的反对下,能够在多种平台下运行(如Windows、Linux、Mac、Android、iOS等
5、它是单线程编程语言。
js在网页中的利用
表单的验证,放大镜,增加购物车等
ECMAScript 和 JavaScript 的关系
1996 年 11 月,JavaScript 的创造者Netscape公司,决定将 JavaScript 提交给标准化组织 ECMA,心愿这种语言可能成为国际标准。
因为网景开发了JavaScript,一年后微软模拟JavaScript开发了JScript,为了让JavaScript成为寰球规范,几个公司联结ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的规范,被称为ECMAScript规范。
所以简略说来就是,ECMAScript是一种语言规范,而JavaScript是网景公司对ECMAScript规范的一种实现。那为什么不间接把JavaScript定为规范呢?因为JavaScript是网景的注册商标。不过大多数时候,咱们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简略把它替换为JavaScript就行了。
因为JavaScript的规范——ECMAScript在一直倒退,最新版ECMAScript 6规范(简称ES6,有时也被称为ES2015)曾经在2015年6月正式公布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript规范的哪个版本。
Javascript倒退历史
1995年12月4日 Netscape公司与Sun公司联结公布了JavaScript语言。
1996年03月 Navigator 2.0浏览器正式内置了JavaScript脚本语言。
1997年07月 ECMAScript 1.0公布。
1998年06月 ECMAScript 2.0版公布。
1999年12月 ECMAScript 3.0版公布,成为JavaScript的通行规范,失去了广泛支持。
2007年10月 ECMAScript 4.0版草案公布
2009年12月 ECMAScript 5.0版正式公布
2015年06月 ECMAScript 6正式公布
各个次要浏览器内核和引擎
一个残缺的浏览器蕴含浏览器内核和浏览器的外壳(shell)。浏览器外围——内核分成两局部:渲染引擎和js引擎。
浏览器内核次要指的是浏览器的渲染引擎,2013 年以前,代表有 Trident(IE),Gecko(firefox),Webkit(Safari chrome 等)以及 Presto(opera)。2013 年当前,谷歌开始研发 blink 引擎,chrome 28 当前开始应用,而 opera 则放弃了自主研发的 Presto 引擎,投入谷歌怀抱,和谷歌一起研发 blink 引擎,国内各种 chrome系的浏览器(360、UC、QQ、2345 等等)也纷纷放弃 webkit,投入 blink 的怀抱。
2015年微软推出本人新的浏览器,原名叫斯巴达,后改名edge,应用edge引擎
edge浏览器依然应用Chakra引擎
1、IE浏览器内核:Trident内核,也是俗称的IE内核;
2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,当初是Blink内核;
3、Firefox浏览器内核:Gecko内核,俗称Firefox内核;
4、Safari浏览器内核:Webkit内核;
5、Opera浏览器内核:最后是本人的Presto内核,起初是Webkit,当初是Blink内核;
6、360浏览器、猎豹浏览器内核:IE+Chrome双内核;
7、搜狗、漫游、QQ浏览器内核:Trident(兼容模式)+Webkit(高速模式);
8、百度浏览器、世界之窗内核:IE内核;
9、2345浏览器内核:以前是IE内核,当初也是IE+Chrome双内核;
罕用的IDE介绍
IDE:集成开发环境(Integrated Development Environment )
Webstorm,visual studio code,sublime,atom,hbuilder,editplus,nodepad等
js的语法结构
页面引入js的几种形式
第一种形式:外部形式
第二种形式:内部构造
第三种形式:行内形式
js输入的几种形式
1、应用 window.alert() 弹出正告框。
2、应用 document.write() 办法将内容写到 HTML 文档中。
3、应用 innerHTML 写入到 HTML 元素。
4、应用 console.log() 写入到浏览器的控制台。
js的语法规定
1、分号是语句完结的标记,分号不是必须的,咱们不倡议这样做,严格来说,语句要加上分号。
2、 js会疏忽多个空格和换行。
3、字符集
utf-8:对立国内编码,兼容各个国家的语言
gb2312/gbk:简体中文编码
big5:繁体中文编码
4、变量辨别大小写
5、正文
回顾一下html正文:
<!--正文内容-->
回顾一下css的正文:
/*内容*/
js的正文语句
单行正文://内容
多行正文:/*内容*/
问:为什么要加正文?
答:为了不便他人也是为了不便本人。
Javascript名词解释
在编程语言中,个别固定值称为字面量,如 3.14。给变量赋值时,等号左边都能够认为是字面量。英语叫做literals,有些书上叫做间接量。
数字字面量
25,98.23
var num = 92;
字符串字面量
‘123’,“Hello”
[12,2,3]
常量
什么是常量?
常量:就是其值不能扭转的。
怎么定义一个常量?
const HOST = “localhost”;
[外链图片转存失败,源站可能有防盗链机制,倡议将图片保留下来间接上传(img-E0D0aDmK-1608010648257)(020101JS初识.assets/image-20200808101326346.png)]
[外链图片转存失败,源站可能有防盗链机制,倡议将图片保留下来间接上传(img-IKQtV2pk-1608010648260)(020101JS初识.assets/image-20200808101352692.png)]
const也是块级作用域
const申明的常量必须初识化,而let申明的变量不必
const实际上保障的,并不是变量的值不得改变,而是变量指向的那个内存地址所保留的数据不得改变。对于简略类型的数据(数值、字符串、布尔值),值就保留在变量指向的那个内存地址,因而等同于常量。但对于复合类型的数据(次要是对象和数组),变量指向的内存地址,保留的只是一个指向理论数据的指针,const只能保障这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就齐全不能管制了
Javascript变量命名规定(重点)
申明变量
变量是干什么的,是存储数据的,那存储什么品种数据呢?
申明变量应用关键字:var(variable)
你给它赋什么类型的值,那么这个变量就是什么数据类型。
内存中堆区和栈区
显式申明与隐式申明区别
JS中变量申明分显式申明和隐式申明。
var name = 'muzidigbig';//显式申明
name = 'muzidigbig';//隐式申明(为全局对象(window)的一个属性)
JavaScript 严格模式(use strict)
变量晋升
变量肯定要先申明后应用,如果先应用后申明,js的外部机制天然使变量晋升。
let 和var 的区别
var: variable,它是可变的。
let: 块作用域。
变量名的命名规定
变量的命名:变量是由字母、数字、下划线、$
组成,但第一个字符必须是字母或者是下划线、$
结尾。
$
不倡议应用,它可能会和其余的框架语法抵触,或者是函数的名字抵触
1、JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。
2、首字母能够是任意字母以及美元符号和下划线。残余能够是任意字母,美元符号,下划线和数字
3、不能应用javascript中的关键字(保留字)来命名变量
4、中文也能够申明变量,不倡议应用它。
变量的命名形式
第一种命名:帕斯卡命名(大驼峰式命名)
每个单词的首字符大写。
例如:UserName。
第二种命名:小驼峰式命名
首个单词的首字母小写,其余前面单词的首字母大写。
例如:
例如:userName
第三种命名:匈牙利式命名
数据类型+单词(变量名)
Integer+age
var Iage = 25;
String+address
var Saddress = “西安”;
Javascript数据类型(重点)
在此根本的数据类型的根底上又减少了一个根本数据类型:Symbol,Symbol 是 ES6 引入了一种新的原始数据类型,示意举世无双的值。
打印变量的数据类型:typeof
请留神:
NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
根本数据类型
数字类型(number)
c 语言中:
int(整数),float(单精度浮点型),double(双精度浮点型),char(字符)
string(字符串)。
二进制(binary):0b101010101
八进制:0o2535
十六进制:0x69852
进制转换:
toString():十进制转换其余的进制
parseInt():其余的进制转换十进制
最大值:MAX_VALUE
最小值:MIN_VALUE
浮点数不能比拟
NaN:Not a Number:不是一个数值
一些非凡状况(除数为0,最大值变动)
布尔类型(boolean)
true(真),false(假),都是小写的。
TRUE,FALSE,True,False:这些都不正确。
字符串类型(string)
字符串:加单引号或者是双引号
字符串连贯:应用的是+
模板字符串:
undefined
typeof undefined
null
typeof null
null == undefined
null和undefined的区别
1、类型不相等
2、强制类型转换值不一样
var re1 = Number(undefined);//NaNvar re2 = Number(null);//0
3、比拟
null == undefined;//truenull === undefined;//false
援用类型(object)
Javascript运算符(重点)
算术运算符
+,-,,/,%(求余数),++,--,*(求幂数-es7新增)