javascript 基本概念
一、在HTML中使用javascript
1.直接是用<script></script>标签。
2.外部引入
<script type="javascript" src="../app/js/test/test1.js"></script>
一般会放在浏览器的底部,让页面先加载出来,避免JS文件过多过大时,页面加载延迟,出现一直空白的情况。
文档类型
DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。
不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
一般分为标准模式和混杂模式两种
如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式!
总的来讲:混杂模式让IE像IE5,标准模式使用IE7的呈现引擎。
二、js基础概念
1.语法
好的编程习惯:要注意代码规范,语句结尾的分号虽然不是必需的,但是加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间推测应该在哪里插入分号了。
变量:ECMAScript的变量是松散类型的,每个变量仅仅是一个用于保存值得占位符而已。
2. 6种数据类型
Number、String、Boolean、Undefined、Null。 (基本数据类型)
Object (引用数据类型) 其实像array、function也是引用类型
可以用typeof操作符来判断是哪一种基本数据类型:
var message = "something" alert(typeof message); "string"
提一下基本包装类型:js提供了三种基本包装类型:Number、String、Boolean,方便我们来操作这些基本数据。
我们知道,基本类型不是对象,是没有方法的。实际上每创建一个基本类型的时候,后台会自动创建一个对应的基本包装类型的对象,保存在内存中,从而让我们能调用一些方法来处理这些基本数据。
Number
整型:3 一般用的都是十进制
浮点型:3.14 浮点数值的最高精度是17位 if(0.1 + 0.2 == 0.3){console.log("正确")} 是错误的,不要做这样的测试, 因为计算机底层的二进制算法是不一样的。
数值转换: (基本不怎么会用到,了解一下就好)
var num1 = parseInt(22.5) //22 (不会四舍五入) var num2 = parseInt("123blue") //123 转换为整型 var num1 = parseFloat(22.5) //22.5 var num2 = parseFloat("098.5") //98.5 转化为浮点型
操作方法: (这个是重点)
var num = 3.145; num.toFixed(2); //3.15
单体内置对象Math对数字的一些处理方法:
Math.max(3.14,4.14) //4.14 Math.min(3.14,4.14) //3.14 Math.floor(3.54) //3 Math.ceil(3.14) //4 Math.round(3.14) //3 Math.round(3.54) //4 四舍五入取整 Math.random() //0.2345 大于等于0小于1的随机数 Math.abs(-3) //3
String
字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值得字符串来填充该变量。
操作方法:
var age = 20; age.toString(); //"20" var name = "tom" name.length //3 var string = "abcde"; var result =string.slice(3,4); //d var result1 =string.split(); //["abcde"] var result2 =string.split(''); //["a", "b", "c", "d", "e"]
split分割是按字符串中的什么符号来分割,如果用空字符串 ("")来分割 ,那么 string中的每个字符之间都会","来分割。
var result3 =string.replace("c","f"); //"abfde" (可用于替换)
var result4 =string.replace("c",""); //"abde" (可用于删除)
var result5 =string.charAt("3"); //d
var result6 =string.indexOf("c"); //2
var result7 =string.trim();
var result8 =string.toUpperCase(); var result9 =string.toLowerCase();
Boolean
只有两个值true和false 像if判断时就自动执行响应的Boolean
Undefined
Undefined类型只有一个值就是undefined,只有在使用var操作符声明变量但未对其初始化时,该变量的值才为undefined 注意没有定义和没有初始化的区别
Null
Null类型只有一个值就是null,表示一个空对象指针,定义该值的变量是准备保存对象的变量,在保存变量以前初始化为null
由于定义为null值的变量是准备保存object的,因此利用typeof操作符检索该变量,返回值为object。
如果定义的变量准备在将来用于保存对象,那么最好变量初始化为null,而不是其它值。
undefined派生自null值,因此undefined==null; //true