首页 > 代码库 > JavaScript01
JavaScript01
JavaScript
一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
作用:描述页面行为。
特点:1、js是一个动态的弱类型的语言。
2、js是一个解释型语言。
3、js中不区分单双引号。
4、js中严格区分大小写。
5、js代码块可以写在html中的任意位置。
6、js中分号是可以省略,但是不推荐。
主要内容:1、ECMAScript:js的基本语法。
2、BOM:broswer object model 浏览器对象模型
3、DOM:document object model 文档对象模型
使用方式:
1、内联式
格式:<标签名 on事件名="js代码"></标签名>
2、内嵌式(在页面的任意位置书写)
格式:<script type="text/javascript">js代码</script>
注意:type属性可以省略
3、外部引用方式
步骤:a、创建js文件
b、在作用页面利用script标签进行引入。<script type="text/javascript" src="http://www.mamicode.com/资源路径"></script>
数据类型
var 变量名
分类:原生类型和对象类型
原生类型:
number:int,float,infnity,NaN
boolean
string
var 变量名 = null; //object
var 变量名; //undefined 只声明未初始化
object == undefined
隐式转换:
原生类型进行加法运算时 会发生隐式转换
规则:所有类型都向number类型靠拢,当遇到字符串类型时就会进行字符串拼接。
显式转换:
paeseInt(‘12px‘);
parseFloat(‘3.14px‘);
JS中注释方式:
单行注释://
多行注释:/**/
对象类型:
函数:相当于Java中的方法
函数的定义:
function test(参数) {
方法体
}
var test = new Function("参数","方法体")
var test = function(参数) {
方法体
}
特点:1、函数默认返回值undefined,利用return手动设置函数的返回值。
2、获取实参个数:函数名.arguments.length
3、获取形参个数:函数名.length
4、函数之间可以互相调用。
5、js中的函数不能重载。
6、js中的函数可以作为参数传递。
数组:相当于Java中的ArrayList
创建数组的方式:
var arr1 = [];
var arr2 = new Array();
var arr3 = new Array(5);
var arr4 = new Array(1,2,3,true,‘abc‘);
concat():数组元素之间拼接
concat(arr4.concat(3,arr3));
join():设置数组元素之间的间隔符
arr4.join("-");
特点:1、跳跃下标顺序进行数组的赋值
2、length属性:a.获得数组的长度;b.强制改变数组的长度
日期对象:
var now = new Date();
now.getFullYear();now.getMonth();now.toLocaleString();
自定义对象:
var obj = new Object();
obj.uname = "zhangsan";
obj.age = 12;
obj.sleep = function() {
方法体;
}
在调用固有对象的方法时,直接使用"函数名();",当前固有对象不需要使用new关键字
Math对象
Math.random();
Global对象
ParseInt();ParseFloat();isNaN();eval();
eval()作用:1、解析js字符串代码
var str = "var ss = ‘hello‘"; eval(str);
2、执行运算
eval(‘1+2+3‘);
String对象
var str = new String("abcd");
str.substr(0,2); //0:起始字符串下标 2:截取子串的长度
str.substring(0,2) //0:起始字符串下标 2:截取子串结束下标
等同符和等值符
var num1 = 123;
var num2 = "123";
alert(num1==num2); //等值符会发生隐式转换
alert(num1===num2); //等同符不会发生隐式转换
JavaScript01