JavaScript还是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据、增加Web互动、加强用户体验度等。
一、JS的三种使用
1.行内JS
在html标签上直接写JS代码
2.内部JS
在script标签中写JS代码,script标签可以放在head中或body标签最后(建议放在body标签最后)
3.外部JS
定义JS文件,通过script标签的scr属性引入对应的文件
注:如果script标签设置了scr
语句
1.JS代码一行为单位,代码从上往下执行,一行一条语句。
<button onclick="alert('Hello Word!');">按钮</button>
2.语句不加分号结尾,如果一行定义多条语句,每条语句只会必须以分号结尾(建议都加分号)
<script type="text/javascript">
alert("这是一个按钮")
</script>
3.表达式不需要以分号结尾,如果加了分号则Javascript引擎会当作语句执行,生成无用的语句。
。js文件 console.log("这是引入外部js文件");
<script src="js/test.js" type="text/javascript" charset="UTF-8"></script>
注释:
1.HTML代码注释 : < !-- TTML注释-- >
2.JS代码注释:
//单行注释
/*多行注释*/
标识符:
规则
由Unicode字母、_、$、数字组成、中文组成
(1) 不能以数字开头
(2)不能是关键字和保留字
(3)严格区分大小写
规范
(1)间名知意
(2)驼峰命名或下划线规则
关键字:
声明变量的的时候不适用关键字
二、变量
JS是一种弱类型语言,在声明变量时不需要指明数据类型,直接用var修饰符进行声明。
注:生命变量也可以不使用var,直接声明。
变量声明
1.先声明再赋值
2.声明并赋值
变量的注意点
1.如果变量只声明而未赋值,则显示undefinded
2.如果变量未声明就使用,则会报错
3.可以使用var同时声明多个变量
4.如果重新声明一个已存在的变量,是无效
5.如果重新声明一个已存在的变量并赋值,则会覆盖
6.Js是一种动态的弱类型语言,可以声明任意数据类型的变量
变量名提升
JavaScript引擎的工作方式是先解析代码,获取所有被声明的变量,然后再一行一行的运行.
这造成的结果就是所有的变量的声明语句都会被提示到代码的头部,这叫做变量提升
注意:变量提升只对var声明的变量有效,如果变量不是var声明的,就不会发生变量提升
<script type="text/javascript">
/*变量名提升*/
console.log(flag);
console.log(name);
/*变量声明*/
//1.先声明在赋值
var a;
a=1;
console.log(a);
//2.声明并赋值
var b=2;
console.log(b);
/*变量的注意点*/
//1.如果变量只声明而未赋值,则显示undefinded
var c;//声明变量
//console.log(c); undefinded
//2.如果变量未声明就使用,则会报错
//console.log(d); d is not defined
//3.可以使用var同时声明多个变量
var aa,bb,cc=10;
console.log(aa);
console.log(bb);
console.log(cc);
//4.如果重新声明一个已存在的变量,是无效
var a;
console.log(a);
//5.如果重新声明一个已存在的变量并赋值,则会覆盖
var a=10;
console.log(a);
//6.Js是一种动态的弱类型语言,可以声明任意数据类型的变量
var str = "Hello Word";
var flag = true;
console.log(str);
console.log(flag);
console.log("true");
//不使用var声明变量
name="zhangsan";
console.log(name);
</script>
三、数据类型
JS是弱类型语言,变量没有数据类型 , 数据有类型。
undefined
值不存在
出现情况
1.变量只声明未赋值,值为undefined
2.当定义函数需要形参,调用函数为传递实参时,参数的值为undefined
3.当函数没有返回值,接收值为undefined
布尔类型
true false
unll类型
表示空置
注意点:
1.使用typeof操作符测试 null 返回 object 字符串
2.undefined 派生自 null 所等值比较返回值是 true。未初化的变量和赋值为 null 。
数值型
数值型包含两种数值 :整型和浮点型。
1.所有数字(整形和浮点型)都是以 64位浮点数形式存储。所以,JS 中 1 与 1.0 相等。
2.在存储数值型数据时自动将可以转换为整型的浮点数值转为整型。
字符串类型
1.使用''或""引起来
2.可以使用"+"对字符串进行拼接
对象类型
数组
var 数组名 = [];
对象
var 对象名 = {};
函数
function 方法名() {
}
四、类型转换
1.自动类型转换
1.转字符串:所有的值转字符串都是加引号
2.转布尔型:有值为 true ,无值为 fale (0 为 false 。非0为 true)
3.转数值型:空值是0,非空的数值型字符串能转换,非数值字符串转换为naN
2.函数转换
paseInt() 转整数型
parseFloat () 转浮点型
注:转换时会从值的第零个位置开始找有效数字,直到找到无效数字位置 parseFloat()在转换时比paseInt() 多识别一个小数点
3.显示转换
toString() 将值转换成字符串
toFixed() 保留指定小数位,四舍五入
注:值不能为 null
JS 为 Number 、Boolean 、String 对象提供了构造方法,用于强制转换数据类型,转换的是值的全部,不是部分。
注:可以转换 null