JavaScript
3月2日 周四
js概述
-
一种客户端脚本语言,以前的网速慢,现在的可以直接在网页显示处理结果,让页面有了逻辑处理功能,大大提升处理速度
-
js之所以带java,(是因为蹭java热度,与Java没关系),原本叫Netspace,现如今成为因特网的必备组件
-
html/css/JavaScript三者区别
- HTML超文本标记语言,做页面展示
- css是层叠样式的语言,用来辅助修饰html,让html看起来更加丰富好看
- js是独立的编程语言,用来操作html节点以及css样式,达到网页动态效果,增强交互感
-
JavaScript是解释型语言,不需要编译,解析给浏览器,解析后被内置在浏览器软件中的JavaScript解释器解释执行
-
js和jsp(Javaserverpages,基于Java语言实现的服务器端页面)一毛钱关系没有
语言特点
- 基于对象的编程语言,类似于c++和Java,既有对象又有过程
- 弱类型语言:任何变量在定义时不需要指定数据类型,但有类型的概念,值决定数据类型(动态数据类型)
- 解释性的脚本语言,不需要编译
- 动态性,基于事件驱动,一定操作引起某些动作
- 平台无关性,运行在浏览器里,只要安装浏览器,就能解释执行js代码;不同的浏览器对js代码解析不一样。这就是兼容性问题,
- 解决兼容性问题使用框架或通用性代码
- 安全性,安全是因为不允许做很多事,无法对磁盘操作
js组成
-
JS的标准名为ECMScript,一个标准(文档)
-
DOM,文档对象模型,元素对象,js可以操作对象,调用里面的属性和方法,操作网页页面(实际使用多)
-
BOM,浏览器对象模型,js能与浏览器进行对话,获取浏览器信息,操作浏览器
- DOM和BOM关系(DOM和document都包含在window里,document很重要)

- DOM和BOM关系(DOM和document都包含在window里,document很重要)
浏览器和开发工具
- 开发工具
- 文本编辑器EditPlus,写错了没有报错 ,不推荐
- Webstorm,集成开发工具,时Intellij IDEA开发工具中的一个插件
- HBuilder
JS基本使用及HelloWorld
-
js代码一般放在head里或者body里
<script></script>//标签必须成对出现,不能自闭合<script/> <script src="qw.js"></script>//外部引用
浏览器控制台的使用
基本语法
- 定义变量:
<script>var num=1;</script>//数据类型就这一个
//甚至num=1;也可以,且是全局变量,let num=1;是局部变量
"qinhuan"//直接也可以
- JS严格区分大小写
浏览器控制台操作
-
console.log(score) 在浏览器打印结果
-
alter()是弹窗
-
常用的几个选项,调试须知

数据类型浏览
-
数值、文本、图形、音频、视频
-
number:NaN是不是一个数。infinity极大的一个数
-
字符串:“abc” ’abc‘ '\n'
-
布尔值:true false
-
逻辑运算:&& || !
-
比较运算:=;== 类型不一样,值一样就可以; ===绝对相等,一般用这个就行(NaN与所有数都不等包括自己,只有isNaN(NaN)这个是true
-
尽量避免浮点运算,存在精度问题
- 不要(1/3)===(1-2/3),改为math.abs(1/3-(1-2/3))<0.0000001
-
null;undefined未定义
-
数组:不需要一系列相同类型的对象
- var arr=[1,2,3,4,'hello'];允许
-
对象使用大括号括起来
var person={ name:"qinjaing", age:23, tags:['js','java'] }- 对象的值:甚至中文都可以,不要以数字开头
-
严格检查模式(strict)
- let 定义局部变量
- let i=1;//定义局部变量
- 'use strict'//用严格检查模式,前提是idea支持es6,写在第一行