JavaScript
javascript是一种专为与网页交互儿设计的脚本语言。由三部分组成:
- ECMAScript (ECMA-262定义) 提供核心语言功能 文档对象模型
- (DOM)提供访问和操作网页内容的方法和接口
- 浏览器对象模型(BOM)提供与浏览器交互的方法和接口
-
script标记属性 type、src、defer、charset
JavaScript 是一种弱类型的脚本语言
1.输出HelloWorld的三种方式
<script type="text/javascript" charset="utf-8">
//window.alert(); 浏览器对象
alert("Hello World");
//文档对象
document.write('我是第一个程序!');
//把内容打印到控制台
console.info("hello js");
</script>
2.JS的解析顺序 从上到下 边解析边执行
//延迟执行defer可以延迟执行代码,当页面加载完成后window.onload后
<script type="text/javascript" defer="defer" charset="UTF-8" src="js/001.js"></script>
<script type="text/javascript" charset="UTF-8">
alert("我是内部代码");
</script>
如果不加defer属性 会先执行外部引入的js文件,再执行内部js;
加defer后先执行内部js
3.关于全局变量和局部变量的简单说明
<script type="text/javascript" charset="UTF-8">
var a = 3;//number
//变量有两种:全局变量 局部变量
//方法内部,没有加var关键字声明的变量,也是全局变量
function test(){
var a = 2;
c = 3;//全局变量
}
//alert(c);//报错 C没有定义
test();
alert(c);//3
//上面的alert(c);报错是因为必须先执行函数test(),才会存在c
</script>
4.关于数据类型
<script type="text/javascript" charset="UTF-8">
// Number类型 整数和小数
var a1 = 10;
var a2 = 10.5;
var a3 = NaN; //not a number
var a4 = 1/0; //正无穷
var a5 = 070; //8进制和16进制0xA
// alert(a4);
// alert(a5);
var a = 0.1;
var b = 0.2;
if(a+b == 0.3){
alert("等于0.3");
}else{
alert("不等于0.3");
}
//小数为浮点类型,if(a+b == 0.3) 不要做这样的测试,因为浮点数值最高精度是17位,而是0.300000000000000004.
var a6 = parseInt("sssaaa");
alert(a6);//NaN
var a7 = parseInt("12aavvv");
alert(a7);//12
var a8 = parseInt("a675SHSD");
alert(a8);
//undefined 数据类型 他的值只有一个:undefined 表示变量被声名了,但是没有被赋值
var b1;
alert(b1);//undefined
//null空值
var b2 = null;
alert(b2);//null
//JS是一种弱数据类型,因为它是根据赋值来决定变量的类型
//引用类型 Object类型
var arr = [1,2,3];//数组类型
var dates = new Date();//日期类型
var obj = {};//对象类型
//typeof 操作符 用来判断数据类型(基本类型)
alert(typeof a);
var i = null;
alert(typeof i);//object null表示一个空对象的引用
</script>
5.类型自动转换与控制语句
<script type=text/javascript charset=utf-8 >
var a1 = 10 ;
var a2 = 10.0 ;
if(a1 == a2){
alert('相等');
}
//js数据自动转换的机制
var a = "1" ; //number
var b = true ; //boolean
// == 表示 可以经过自动转换 比较的是数值
// === 表示 可以经过自动转换 先比较值, 再比较数据类型
if(a == b){
alert('相等');
} else {
alert('不等');
}
//三目运算符:
var c = 10/2>4?5:3;
alert(c);
//关于for循环的特点:
for(var i =0 ;i <5 ; i++){
alert(i);
}
//死循环
for(;;){
alert('执行体!');
}
var i = 0 ;
while(i < 5){
alert('执行');
i++;
}
var i = 0 ;
for(;i<5;i++){
alert('执行');
}
</script>