JavaScript篇章

news/2024/7/19 16:42:36 标签: js

JS篇章

  • Tips:基础不牢,地动山摇
  • 章节一:
    • 五大主流浏览器
    • 浏览器历史和JS诞生
  • 章节二:
  • 章节三:

Tips:基础不牢,地动山摇

章节一:

引入:为什么要用框架:之所以是框架,是为了给你提供一个编程的便利。

五大主流浏览器

前端接触最多的东西:浏览器,浏览器具有自己的内核
5大主流浏览器 内核(JS引擎+渲染引擎)
IE -> trident
chrome-> webkit、blink
safari -> webkit
firefox -> gecko
opera -> presto

浏览器历史和JS诞生

  1. 1990年,有一个人叫 蒂姆 博纳斯 李 ——>这个人呢 是做超文本分享资讯的——>他呢 开发了一个叫 World Wide Web 这样的一个浏览器——>他将这个浏览器 移植到c语言上 改名为 libwww后来发展成了nexus,这是一个真正意义上的浏览器(允许别人浏览他人编写的网站)
  2. 1993年,在美国的一所伊利诺大学——>有一个组织叫 NCSA——>组织这个组织里有一个成员叫(马克 安德森)这个人开发了一个叫MOSIAC浏览器,这个浏览器可以显示图片,是一个真正意义上图形化的浏览器
  3. 1994,马克 安德森和吉姆 克拉克 (这个人是美国硅图公司(SGI)的)他们俩成立了一个公司叫MOSIAC Communication Corporation,在公司的发展途中,公司黄了,原因是MOSIAC有商标权,是归伊利诺大学的,在马克 安德森走之后,把商标权卖给了Spy glass这个公司,后来安德森将公司改名为Netscape Communication Corporation,也就是网景公司,在MOSIAC基础上开发的Netscape navigator——网景导航者
  4. 在1996年发生了三件事
    微软收购了spy glass并且开发了IE internet exploror 同时发布了IE3,它的诞生出现了第一个script脚本,JSscript1.0
    网景公司的Brendan eich这个人,在netscape navigator 浏览器的基础上开发出了一个脚本语言,叫 livescript
    在这一年 JAVA火起来了,网景公司的 liveScript 不温不火,JAVA所有权SUN公司,与SUN公司 商量合作和宣传产品,将livescript改名为javaScript
  5. 2001年,IE6XP诞生,JS引擎诞生
  6. 2003年,mozilla公司的firefox
  7. 2008年,google基于webkit+blink+gears(离线浏览网页功能)=>chrome浏览器

progressive web app渐进式APP=》chrome->v8引擎—这时就有一个叫node.js:它是一个基于chromeV8引擎的JS运行环境

v8引擎的优点:1.直接翻译机器码
2.独立于浏览器运行

  1. 2009年,甲骨文oracle收购了SUN公司,JS的所有权归甲骨文

章节二:

先说说 ECMA:European Computer Meaufactures Association 全名:欧洲计算机制造联合会 ——日内瓦(瑞士),这个组织是评估开发认可电信,计算机标准的一个组织
ECMA-262 是脚本语言的规范

再说说编程语言,编程语言又叫做高级语言,就是人能理解,计算机不理解,需要翻译:编程语言分为编译型和解释型
编译型:源码通过编译器,变成可执行文件
解释型:源码通过解释器,解释一行执行一行,不需要根据不同的系统,平台进行移植

紧接着看一下脚本语言:脚本语言一定要有脚本引擎,通过脚本引擎的解释器才能正常运行
脚本语言有前端脚本语言与后端脚本语言
前端:JAVAScript 客户端脚本(浏览器脚本)
后端:PHP脚本,服务器脚本

介绍一下多线程与单线程
多线程:可以同时做多件事
单线程:只能同时做一件事,JS引擎可以模拟多线程,有个东西叫轮转时间片:意思是短时间之内轮流执行多个任务的片段
轮转时间片的执行步骤:1.假设有任务一,任务二
2.先切分任务一,任务二
3.随机排列这些任务片段,组成队列
4.按照队列顺序将任务片段送进JS线程
5.JS线程执行一个又一个的任务片段

再说一下动态语言与静态语言
动态语言->脚本语言->解释型语言->弱类型语言(弱化数据类型)->根据值判断数据类型
静态语言->编译型语言->强类型语言->根据数据类型判断值

章节三:

JavaScript组成
1.ECMAScript 语法+变量、关键字、保留字、值、原始类型、引用类型、运算、对象、继承、函数
2.DOM document object Model W3C规范
3.BOM browser object Model 无规范
首先说一下变量:变量:存储数据的一个容器
例如:var a = 3 分为两个部分:
1.声明一个a
2. 将3赋值给a

‘=’ 是赋值的意思
优先级:括号优先级>运算优先级>赋值优先级,运算符的左右两边要有空格

null:空值 会用于初始化组件,函数,销毁函数,占位
引用值:object / array / function / date / RegExp

重点:堆:值的地址存在栈内存
栈:先进后出,数据永久保存,不可改

浏览器报错类型:1.SyntaxError 语法错误 一行都不执行
2.ReferenceRrror 引用错误 中断执行

// 1.demo:用计算机语言叙述内容
	var a = 1;
		b = 2;
		d = 3;
	var c = (a + b) * d
描述:首先 1.声明变量c
	     2.变量a的值和变量b的值相加,与变量d的值相乘得到结果
	     3.将该结果赋值给变量c

+数字运算 字符串拼接
任何数据类型的值 + 字符串 都是字符串

了解++ –

demo1:
var a  = 1;
console.log(a++);	//1   ++在后面,就先打印a本身,然后进行运算
console.log(a);	//2
demo2:
var a  = 5,
    b;
b = a-- + --a   //b = --a + a--  --a先运算
				// --a:4 a:4 -> b:8,->a--  a:3
console.log(b,a);	//8,3
demo3:
var a  = 5,
    b;
b = --a + --a;//--a:4先运算 ->--a:3->b:7,a:3
console.log(b,a);//7,3
demo4:
var a  = 5,
    b;
b = --a + a++;//--a:4先运算a++先打印后运算a++:4 ->b:8,a:5
console.log(b,a);//8,5

比较运算符
number ——>string //number和string比较,string转换为number类型
number——>number
string——>string//字符串相比较,比较对应的ASCII码,(字符相对应的十进制代码)多个字符的,从左到右一次对比,直到比较出ASCII码的大小为止
== 是不看数据类型的
===是需要看数据类型是否相等的
NaN与包括自己在内的任何东西都不相等

补充:这是我在写代码的时候,遇到的问题:
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!

小例子:

var i = 1;
for(;i;){
console.log(i);
i++;
if(i === 11){
return
}
}

语句 if
if:它的条件具有互斥性

if(){}else if(){}
//if(){} 和多个 if(){}else if(){}有什么区别:
性能上:多个if要一直判断,找到符合的才停止判断

语句 switch

switch(变量){
	case 值:
	语句
	break;  //中断循环
	default:
	语句
}

逻辑运算
&&:
||


http://www.niftyadmin.cn/n/1354806.html

相关文章

python有两种循环结构_零基础学python 12 程序不枯燥:for循环结构(课后习题答案)...

这节课让我们来看一下上节课的习题答案吧。 上节课的题目有两道题,较多,我们来一题题地解答。 1. 主题: Duck, Duck, Goose! 假设你在一个家禽农场工作,需要计算从传送带传下来的动物数量&#…

前端知识点总结

知识点总结: 网站制作流程:与客户沟通,制定方案->签订合同->预付定金->初稿审核->前台页面设计,后台功能开发->测试验收->上线培训->后期维护 工具:stylish插件:定义样式 fontlab:做…

python os.path 识别文件类型_干货收藏 | Python语音识别终极指南

作者 | David Amos 编译 | 廉洁来源 | AI科技大本营原文 | python语音识别终极指南亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。整合了语音识别的 Python 程序提供了其他技术无法比拟的交互性和…

nodejs中查询sql用字符串拼接sql语句

nodejs中sql查询语句用字符串拼接的方式 //使用引号的形式 update user set user_pic" req.body.avatar " where id req.user.id //使用模板字符串的形式 update user set user_pic ${req.body.avatar} where id${req.user.id}

.net 5什么时候发布_21年浙江专升本考试政策什么时候发布?发布前该准备什么?...

最近小西在后台收到了很多同学们关于专升本提出的问题。包括本专业可以升本到哪个专业?总共有多少所学校招收专升本学生?招生计划表什么时候出来等等一系列问题。除了参考往年的一些政策数据,同学最应该关注的就是新政策,那么新政…

python基础语法实验目的_Python基础语法学习体验

import time print(这是学员杨扬的《风变编程.python基础语法课》学习体验报告) i1 while i<101: infom str(i)% print(体验报告载入中..........infom, end"") print(\r, end"", flushTrue) time.sleep(0.05) i1 def merits(): print(\n课程的优点:\n…

vue双向绑定v-model的另一种实现方式

vue双向绑定v-model的另一种实现方式 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&…

python中根号怎么表示_根号python_python根号_python 根号 - 云+社区 - 腾讯云

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 语法以下是sqrt()方法的语法 -import mathmath.sqrt( x )python注意 -此函数不可直接访问&#xff0c;需要导…