简介
A.诞生的背景
1995年网景公司开发的
开发目的:受制于当时的带宽,做表单验证
97年被提交给ECMA,98年获取ISO认证
B.功能
a.数据处理
b.用户交互
c.服务器端开发
javascript组成
1.ECMAScript
2.DOM
3.BOM
变量的创建与输出
//方法
用var关键字声明一个变量
用控制台输出:console.log();
用弹出框输出:alert();
//示例
<script>
var a=10,b=10;
alert("***有福利,赶紧注册");
console.log(a);
</script>
*要用script标签包裹
数据的分类(原始类型)
原始类型分为:number,string,boolean,undefined,null
判断一个变量类型的使用:typeof
number为数值
如:<script>
var a =10;
var b = 10.2;
var c= 0.3;
alert(typeof c);
</script>
string为字符串
用单引号,或者双引号包裹的就叫string型
如:<script>
var a="hello world";
var c='10';
alert(typeof c)
</script>
boolean
boolean只有两种值true,false
如:<script>
var a = true;
var b =false;
alert(typeof a);
</script>
undefined
声明一个变量,没有赋予值就是undefined
如:
<script>
var a;
alert(typeof a);
</script>
数据的分类(引用数据类型)
引用数据类型:array,object,function(函数)
array(数组):
1.如何声明一个数组
var arr=[1,2,3,4,5];
2.获取数组的长度
arr.length获取数组的长度
alert(arr.length);
3.如何读取数组里面的值
alert(arr[0]);
获取数组里的值,数组的下标从0开始
4.向数组的末尾添加值
arr[arr.length]=value
5.如何判断一个变量是不是数组Array.isArray(变量)
alert(Array.isArray(arr))
object(对象)
对象:用程序表示生活中具体的实物
如:
<script>
var book ={
name:"笔记本",
color:"黑色",
size:"16k"
};
</script>
怎么读取对象的属性
console.log(book.color)
function(函数)
函数是什么:封装特定功能的代码块
用function关键字定义一个函数
function a(){
console.log("hello world")
}
如何调用函数:
函数名()
a();
声明提前
一个变量没有声明,直接输出就会报错
声明提前:程序执行之前,会将所有的变量,提前预读(当前作用域的顶部)集中创建
<script>
console.log(a);
var a=10;
</script>
全局变量和局部变量
变量的作用范围分为全局和局部
在函数 "外部声明"的变量叫全局变量
在函数内部声明的变量叫局部变量
<script>
var a = 10;
function b(){
var c = 20;
}
console.log(c);
</script>
在函数内部没有用"var"声明的变量,它默认是全局变量,但这个变量要在函数"调用之后使用"
function a(){
b = 10;
}
a();
console.log(b);
运算的两种方式
1.算术运算+,-,*,/,%,++,--
var a= 10;
var c=20;
var d=--a;
console.log(a);
console.log(d);
不单独运算的时候
1.++在前,先自增,后赋值
2.++在后,先赋值,后自增
2.关系运算
关系运算的结果会返回boolean值
var a=10;
var b=20;
console.log(a==b);
*运算中等号用==表示,=为赋值
数据类型的转换
number,string,boolean数据类型之间是可以相互转换的
1.强制转换
任意类型转为数值型
Number(); 当是字符串的时候:只能识别数值的字符串,其他都是NaN
var a = true;
var b="10";
var c="hello world";
console.log(Number(a));
console.log(Number(b));
console.log(Number(c));
c的运算结果为NAN
*NaN不能作计算,要计算,结果都为NaN;
将字符串转为数字
parseInt,将字符串转为整数
var a="12px";
var b=parseInt("12px");
console.log(b);//12
parseFloat,将字符串转为小数
var a="12.33333px";
var b=parseFloat("12.33333px");
console.log(b);//12.333333;
2.自动转换
算术运算为例,都会先转换为数字,在计算,不能转为数字的,为NaN
var a=2;
var b =true;
var c = false;
var d = "hello world";
console.log(a-b); //true 1
console.log(a-c); //false 0
console.log(a-d); //当不能转为数字NaN
*加运算中,只要一边为字符串,结果就为字符串
var a =10;
var b="hello world";
var c=a+b;
var d ="20";
console.log( a+d);
关系运算中的自动转换
在关系运算中,先两边的数据先转换为数值再比较
var a =20;
var d=true;
var c="hello";
console.log(20>d);
console.log(a>c);