JavaScript是一种解释型语言,主要在浏览器中运行。它可以用来创建动态的网页效果,处理用户输入,以及与服务器进行通信。
引入方式
内部脚本
将JS代码定义在HTML页面中
- JavaScript代码必须位于<script></script>标签之间
- 在HTML文档中,可以在任意位置放置任意数量的<script>
- 一般会把脚本置于<body>元素的底部,可改善显示速度
<script>
alert("这是个语句")
</script>
外部脚本
将JS代码定义在外部JS文件中,JS文件不包含<script>标签,只包含js代码
<script src="jsp/my.js"></script>
<!-- 自定义js文件 -->
alert("这是个语句")
基础语法
js的规则和java类似,区分大小写,单行注释为//注释内容,多行注释为/*注释内容*/,但js句尾的分号可忽略(但建议加上)
输出语句
与java不同,js的输出语句有三种
- window.alert(""):浏览器弹出警告框显示语句
- document.write(""):html页面直接显示语句
- console.log(""):浏览器控制台显示语句,输入log+回车可快捷输入
变量
JavaScript使用var关键字(variable的缩写)来声明变量,因为JS是一门弱类型语言,所以可存储不同类型的数据,同时其作用域很大,属于全局变量,其还可重复定义,后定义的值会覆盖之前所定义的值。
后来推出了let为局部变量,不可重复定义,const可声明常量,不可被改变。
同时定义变量名称也应遵守规则:由字母、数字、下划线_或美元符号$组成,同时不能使用数字开头,建议遵循驼峰命名法
var x = 10; // ES5及之前版本使用var
x="ddd";//可存放不同类型的数据
let y = 20; // ES6及以上版本推荐使用let
const PI = 3.14; // 常量,声明后不可更改
数据类型
JavaScript有几种不同的数据类型,可以分为两大类:基本(原始)数据类型和引用(对象)数据类型。引用数据类型多是指对对象的引用,在此不再赘述。
基本数据类型
基本数据类型是简单的数据段,它们是不可变的(不可更改的),每个基本类型的值都有一个对应的具体的值。
-
Undefined: 当声明的变量未初始化时,默认值为undefined。
-
Null: 表示空值或者不存在的对象。
-
Boolean: 有两个值,true和false。
-
Number: 表示整数和浮点数,也包括Infinity(无穷大)、-Infinity(负无穷大)和NaN(不是一个数字)。
-
String: 表示文本数据,使用单引号或双引号包围的字符序列。
运算符
js的运算符与java大体相同,在此不再一一举例
算术运算符:+、-、*、/、%、++、--
赋值运算符:=、+=、-=、*=、/=、%=
比较运算符:==、===、!=、!==、>、<、>=、<=
逻辑运算符:&&、||、!(与或非)、条件/三元运算符:?true_value:false_value
其中 === 比较特殊,名为严格等于或全等,==在判断时如果类型不同会进行转换,而 === 则不会。
同时我们可以主动使用类型转换:
字符串类型转为数字:parseInt("string")会从头开始将字符串转换为数字,遇到非数字时停止,如果转换的字符串中首字符不是数字,则会返回NaN(Not a Number)
document.write(parseInt("88") + "\n");//88
document.write(parseInt("87d86") + "\n");//87
document.write(parseInt("d86") + "\n");//NaN
数字类型转为boolean:0和NaN转换为false,其他均转换为true
字符串转为boolean:空转换为false,其他均转换为true
特殊的例如null和Undefined转换为boolean类型都为false
在JavaScript中,你可以使用typeof运算符来检测变量的基本数据类型,但它对于引用类型来说并不总是准确的。