关于javascript:JS初识

7次阅读

共计 6674 个字符,预计需要花费 17 分钟才能阅读完成。

初识 javascript

疏导

次要内容:

学习指标:

节数

知识点

要求

第一节(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 的前世今生 **

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 等

vscode 的应用

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”;

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);//NaN
var re2 = Number(null);//0 

3、比拟

null == undefined;//true
null === undefined;//false 

援用类型(object)

Javascript 运算符(重点)

算术运算符

+,-,,/,%(求余数),++,–,*(求幂数 -es7 新增)

实例练习:

一元运算符

+(正),-(正数),++,–

两数替换

比拟(关系)运算符

,<,>=,<=,!=,!(不全等),,===(全等:值和类型都相等)

逻辑运算符

1、&&:逻辑与,所有运算操作数都为真,运算后果才为真

true && true;//true
false && true;//false
true && false;//false
false && false;//false 

总结阐明:

如果后面的表达式是 true, 就取前面的值,如果后面的表达式为 false, 就取后面的值。

2、||:逻辑或,只有运算操作数其中一个为真后果就为真。

true || true;//true
false || true;//true
true || false;//true
false || false;//false 

总结阐明:

如果后面的表达式是 true, 就取后面的值,如果后面的表达式为 false, 就取前面的值。

3、!:逻辑非, 取反运算

例题:

console.log(10 && 'js');//js 
console.log(0 && 'abc');//0 
console.log(10 || 'js');//10 
console.log(0 || 'abc');//abc 

怎么输入:true 和 false

console.log(Boolean(0) && Boolean('abc')); 

短路问题:输入后果是?

赋值运算符

=,+=,-=,*=,/=,%=

=:赋值

==:比拟(等于)

===:比拟(全等)

条件运算符(三目运算符)

表达式 1? 表达式 2: 表达式 3

如果表达式 1 为真(true), 计算表达式 2 的值,如果为假(false), 计算表达式 3 的值。

等性运算符

Null==undefined;//true
Null===undefined;//false
true == 1;
false ==0;
NaN == NaN;//false
NaN !== NaN;//true 

运算符的优先级

隐式类型转换

强制类型转换

Number(): 转化成数值

只有纯数字的能力转换失去实在数字。

布尔类型 转换为 Number:true 转换为 1、false 转换为 0。

未定义类型 转换为 Number:underfind 转换为 NaN

空类型 转换为 Number:null 转换为 0

String():转化成字符串

Boolean():转化成布尔

总结阐明:

1. NaN ,0 ,””,‘’,underfind, null 转换为:false。

2. 负数,正数都是:true

3. 只有不是空字符串都是:true

parseInt():将 字符串 转化为 整数

parseFloat():将 字符串 转化为 浮点数

作业:

1、变量加 var 和不加 var 的区别

2、变量的晋升

3、短路的利用

正文完
 0