一.关于js
1.js全称JavaScript,是一种脚本语言,也叫解释型语言。语法类似c和java。是一种动态语言,基于原型面向对象的一种语言。
2.es(ECMAScript),是js的标准,即es作为文档规范js语法,js实现功能。
3.js的构成为:
①.es(js规范)
②. dom(文档对象 Document 文档规范)
③.bom(浏览器对象 Browser 浏览器规范)
4.优劣:
①优势:不用编译,直接运行。
②:劣势:运行较慢
原因:js代码执行速度很大程度上依赖浏览器的引擎,不同浏览器跑,速度可能会差很多
然后就是算法的时间复杂度 和处理的数据量
还有就是多次操作dom也相当耗时
5.解释型语言与编译型语言的区别:
①:程序控制权不同:解释型语言控制权在解释器(jre,.net)而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。
②:运行速度不同:一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,编译语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它。
③:移植性不同:
解释型语言,例如Java语言,Java程序首先通过编译器编译成class文件,跨平台时,对应的平台上必须要有相匹配的Java虚拟机。
编译型语言,例如C语言,用C语言开发程序后,需要通过编译器把程序编译成机器语言。在进行移植后,需要重新编译。
6.C语言编译过程文件类型变化
.c或.cpp类型的源代码>编译器>.s类型的汇编代码>汇编器>.o类型的目标代码>融合其他代码>链接器>可执行程序。
7.java编译过程
源代码文件*.java -> 词法分析器 -> tokens流 -> 语法分析器 -> 语法树/抽象语法树 -> 语义分析器 -> 注解抽象语法树 -> 字节码生成器 -> JVM字节码文件*.class
二.js使用
1.我们的JS代码需要编写到<script>
标签中
2.一般将script标签写到head中。(和style标签有点像)
3. 属性: - type:默认值text/javascript可以不写,不写也是这个值。
- src:当需要引入一个外部的js文件时,使用该属性指向文件的地址。
4.JavaScript是严格区分大小写的,也就是abc和Abc会被解析器 认为是两个不同的东西。
5. JS中的注释和Java的的一致,分为两种:
- 单行注释://注释内容 -
多行注释:/*注释内容
6.标识符可以是按照下列格式规则组合起来的一或多个字符:(同java用法)
- 第一个字符必须以字母、下划线( _ )或一个美元符号( $ )开头。
由字母、下划线、美元符号或数字组成。
7.ECMAScript 标识符采用驼峰命名法
eg:loveEnglishClass 第一个字母小写,每个单词的首字母大写
8.注意:JavaScript中的标识符不能是关键字和保留字符。
9.JavaScript中一共有5种基本数据类型:
- 字符串型(String)
- 数值型(Number)
- 布尔型(Boolean)
- null型(Null)
- undefined型(Undefined
这5种之外的类型都称为Object
即JavaScript中共有六种数据类型。
ps:boolean–>number true:1 false:0
10.变量和字面量(常量)
变量:可以更改的量
常量:不占内存(动态分配内存,静态分配内存)
var age=80;//变量可以描述字面量
var 于洋=789;//js底层utf-8 不建议这样用
11.String用于表示一个字符序列,即字符串。
字符串需要使用 ’或“ 括起来。
双引号里不嵌套双引号
单引号里不嵌套单引号
双引号号里可以嵌套单引号
转义字符:
\n 换行
\ 斜杠
\t 制表
\’ 单引号
\b 空格
\” 双引号
\r 回车
12.Number表示的数字大小是有限的,范围是:
- ± 1.7976931348623157e+308 - 如果超过了这个范围,则会返回± Infinity。
NaN,即非数值(Not a Number)是一个特殊的数值
13. Number 类型用来表示整数和浮点数
14.typeof运算符(不是函数,用于打印指定变量类型)
15. console.log 在控制台打印 document.write 在网页打印
三.课上补充特效代码
1.记住密码提示框
1)obj.style.display=‘block’
2)class的使用
–obj.className=‘xxx’
2.鼠标移动上去时显示隐藏部分
<label
onmouseout="document.getElementById('div1').style.display='none'"
onmousemove="document.getElementById('div1').style.display='block'" />
<input type="checkbox" />自动登录
</label>
<div id="div1"">不要在网吧</div>
3.换肤
<dl id="message">
<form>
<dt>
<strong>可以换肤的提示框:</strong>
<input id="btn1" type="button" value="皮肤1"
onclick=
"document.getElementById('link1').href='css/c.css'" />
<input id="btn2" type="button" value="皮肤2"
onclick=
"document.getElementById('link1').href='css/c2.css'" />
</dt>
<dd>输入姓名:<input class="text" type="text" /> </dd>
<dd>输入密码:<input class="text" type="password" /> </dd>
<dd>请您留言:<textarea></textarea> </dd>
<dd class="center"><input class="btn" type="submit" value="提交" /> </dd>
</form>
</dl>