一、JS定义和特点
JavaScript是由Netscape(网景)公司研发出来的一种在它的Navigator浏览器上执行的程序语言。
JavaScript是一种基于对象(object-based)和事件驱动(Event Driven)的简单的并具有安全性能的脚本语言。
JavaScript组成
ECMAScript:JavaScript的核心,语法格式,使用方法
文档对象模型(DOM,document object model):DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档 document对象 有 一个一个的元素(element)
浏览器对象模型(BOM,browser object model)对浏览器窗口进行访问和操作 window对象扩展:JScript:微软推出的类似JavaScript的语言
特点:
脚本语言
脚本语言是一种简单的程序,是由一些ASCII字符构成,可以使用任何一种文本编辑器编写。一些程序语言(如C、C++、Java等)都必须经过编译,将源代码编译成二进制的可执行文件之后才能运行,而脚本语言不需要事先编译,只要有一个与其相适应的解释器就可以执行。
脚本语言是指在web浏览器内有解释器解释执行的编程语言,每次运行程序的时候,解释器会把程序代码翻译成可执行的格式。
基于对象的语言 非面向对象 ,面向对象有三大特点(封装,继承,多态)缺一不可。
通常"基于对象"是使用对象,但无法利用现有对象模板产生新的对象类型,也就是说"基于对象"没有继承的特点。
注意:目前的js脚本已经支持创建自定义类,继承等
事件驱动 在网页中执行了某种操作的动作,被称为"事件"(Event),比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
简单性 变量类型是采用弱类型,并未使用严格的数据类型。
var a,b,c; a=123; b="abc"; c=true;
安全性 JavaScript不能访问本地的硬盘,不能将数据存入到服务器上,不能对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互
跨平台(系统)性 JavaScript依赖于浏览器本身,与操作平台无关, 只要计算机安装了支持JavaScript 的浏览器(装有JavaScript解释器),JavaScript 程序就可以正确执行。
缺点 (浏览器兼容性不好!)
各种浏览器支持JavaScript的程度是不一样的,支持和不完全支持JavaScript的 浏览器在浏览同一个带有JavaScript脚本的网页时,效果会有一定的差距,有时甚至会显示不出来。
二、JavaScript和Java的区别
区别1:公司不同,前身不同
JavaScript是Netscape公司的产品,是为了扩展Netscape Navigator功能而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是Live Script;
Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发; Java的前身是Oak(橡树)语言。
区别2:基于对象和面向对象
JavaScript是脚本语言,是一种基于对象的语言。本身提供了非常丰富的内部对象供设计人员使用,但不支持继承和多态。
Java是面向对象的,是一种真正的面向对象的语言,支持封装、继承和多态。
区别3:变量类型强弱不同
Java采用强类型变量检查,即所有变量在编译之前必须声明为某一指定类型。如: int x=1234;
JavaScript中是弱类型变量。统一采用var声明,可赋各种数据类型值。 三、引入方式
可以在HTML文档中直接嵌入JavaScript代码
JavaScript 代码必须位于 <script> 与 </script> 标签之间
一个HTML文档中可以出现多个<script>标签
JavaScript代码的出现次序就是JavaScript的执行顺序
标签<script>可出现在HTML文档的任何位置,但一般放在<head>内部,可以早于<body>部分执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script>
//1.使用浏览器弹出提示框
alert("提示框");
//2.在浏览器页面输出
document.write("在浏览器页面输出");
//3.在浏览器控制台输出
console.log("在浏览器控制台输出");
</script>
</head>
<body>
</body>
</html>
四、基本语法 (1)注释
单行注释 //
多行注释 /* */
(2)数据类型
数值型:整数和浮点数统称为数值。例如85或3.1415926等。
字符串型:由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如"您好"、'学习JavaScript' 等。
逻辑(布尔)型:用true或false来表示。
空(null)值:表示没有值,用于定义空的或不存在的引用。要注意,空值不等同于空字符串""或0。
未定义(undefined)值:它也是一个保留字。表示变量虽然已经声明,但却没有赋值。
JavaScript还支持复合数据类型,包括对象和数组两种。
(3)变量使用
声明变量
声明一个变量: var a;
同时声明多个变量:var b, c;
变量赋值
a = 10;
B = "abc"; c = true;
声明同时完成赋值
var d = ”js“;
(4)运算符
1.类型运算符
2.算数运算符
3. 赋值运算符
4.比较运算符
注意:
==和===的区别
等于判断(==):先判断类型,类型一致则直接比较内容,如果类型不一致,转换为数字类型后再比较内容
等值判断(===):先判断类型,类型不一致则直接false,类型一致则继续比较内容,内容一致则true,不一致则false
boolean类型
参与计算或比较时,true转换为1,false转换为0。
5.逻辑运算符
(5)流程控制
分支语句:if、switch
循环语句:while循环、do-while循环、for循环、for-each循环
终止循环:break、continue、return
(6)创建对象
//js中的对象
var stu = {"id":1,"name":"zs","age":18};