一 JavaScript基本用法
1.行内JS
写在html标签中的js代码
<body>
<button οnclick="alert('Hello')">Hello</button>
</body>
2.内部JS
写在<script type="text/javascript"></script>标签之间
可以放在html中的任意位置,一般放在<head>标签中或<body>标签中或<body>标签后
<script type="text/javascript">
alert("这是内部JS");
</script>
3.外部JS
引入外部的js文件
<script type="text/javascript" src="js文件的路径" ></script>
注:如果<script>标签中设置了src属性,name写在<script>双标签中的js代码无效
<script type="text/javascript" src="js/test.js" ></script>
二 变量
语句:
语句(statement)是为了完成某种任务而进行的操作,语句以分号结尾,一个分号即表示一个语句结束。
多个语句可以写在一行内(不建议这么写代码),但是一行写多条语句时,语句必须以分号结尾。
表达式不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句
注释:
// 单行注释
/* 多行注释 */
变量:
变量的声明 所有的声明都通过"var"
JavaScript是一种弱类型语言,声明时不需要指定数据类型,直接通过var修饰符声明
1、先声明再赋值
2、声明并赋值
注:如果声明变量时不使用var修饰符,则该变量是全局变量
变量的注意点:
1)若只声明而没有赋值,则该变量的值为 undefined
2)变量要有定义才能使用,若变量未声明就使用,JavaScript 会报错,告诉你变量未定义
3)可以在同一条 var 命令中声明多个变量。
4)若使用 var 重新声明一个已经存在的变量,是无效的。
5)若使用 var 重新声明一个已经存在的变量且赋值,则会覆盖掉前面的值
6)JavaScript 是一种动态类型、弱类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值
变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升
三 数据类型
JavaScript 中有 6 种数据类型,其中有五种简单的数据类型:
Undefined、Null、布尔、 数值和字符串。一种复杂数据类型 Object。
数 值(Number): 整数和小数(比如 1 和 3.14)
字符串(String): 字符组成的文本(比如"Hello World")
布尔值(Boolean):true(真)和 false(假)两个特定值
Undefined: 表示“未定义”或不存在,即此处目前没有任何值
Null: 表示空缺,即此处应该有一个值,但目前为空
对象(object)(引用) : 各种值组成的集合
1)、对象(object){name:”zhangsan”,age:”18”}
2)、数组(array)[1,2,3]
3)、函数(function)function test() {}
typeof 操作符
typeof 操作符是用来检测数据类型。
说明:
1、typeof null 返回的是 object 字符串
2、函数不是数据类型,但是也可以使用 typeof 操作符返回字符串。
typeof 操作符可以操作变量也可以操作字面量。
注意:函数在 JavaScript 中是对象,不是数据类型,所以使用 typeof 区分 function 和object 是有必要的
undefined
undefined 类型的值是 undefined。
undefined 是一个表示"无"的原始值,表示值不存在。
出现 undefined 的常见情况:
1)当声明了一个变量而没有初始化时,这个变量的值就是 undefined
2)当函数需要形参,但未传递实参时
3)函数没有返回值,但定义了变量接收
null
null 类型是只有一个值的数据类型,即特殊的值 null。它表示空值,即该处的值现在为空,
它表示一个空对象引用。
使用 Null 类型值时