首页 > 代码库 > js01
js01
/////////////////////////////////////////////////////////////js开端//////////////////////////////////////////////////////////////////////////////
------------htnl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<!--可以直接在html页面中,在script标签中写相应的js的代码
<script type="text/javascript">
alert("hello world");
</script>-->
<!--可以引入外部文件,通过src来指定外部文件的位置,特别注意不能省略script的结束标记-->
<script type="text/javascript" src="http://www.mamicode.com/hello.js"></script>
<!-- Date: 2013-01-09 -->
</head>
<body>
</body>
</html>
----------js
alert("hello world");
///////////////////////////////////////////////////变量、数据类型、作用域//////////////////////////////////////////////////////////////
--------------------主意几个数据类型操作函数
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
//对于js而言,是没有数据类型的,全部都是通过var来完成变量的创建
/*var a = 19;
alert(a);
a = "hello";
alert(a);
*/
//变量的作用域
function fn1() {
var c = 10;
alert(c);
}
function fn2() {
//当在函数内部没有使用var来声明变量的时候,这个变量就会作为全局变量声明
//b = 10;
//所以一定注意,在函数中定义变量一定要使用var
var b = 10;
alert(b);
// alert(c);
}
function fn3() {
alert(b);
}
//变量的类型,常用的类型有:Number,String,Array,Date
var a = 10.6;
// alert(typeof a);
a = "11";
//java进行强制类型转换是(Number)a,而js是通过Number(a)
// alert(Number(a)+1);
//如果强制转换一个非数字的值为Number会得到一个NaN的值
var b = "abc";
//alert(Number(b));
b = "12px";
//使用parseInt可以将字符串开头的几个数字转换为int,但是如果开头不是数字,那就得到NaN
//alert(parseInt(b));
var as = ["a","b",1,2,3];
//对于数组等对象而言,显示的结果就是object不会显示Array
//alert(typeof as);
//判断as是否是Array的实例,如果是返回true
//alert(as instanceof Array);
//布尔类型:true和false,在js中,非0就是true,特别注意:NaN是false
//当一个变量没有定义值的时候,是undefined类型,undefined类型是false
//特别注意:在js中除了NaN,undefined,0这三个数是false外其余皆是true
var size;
// alert(!!size);
for(var i=0;i<as.length;i++) {
alert(as[i]);
}
</script>
</head>
<body>
<input type="button" value="http://www.mamicode.com/运行fn1" onclick="fn1()"/>
<input type="button" value="http://www.mamicode.com/运行fn2" onclick="fn2()"/>
<input type="button" value="http://www.mamicode.com/运行fn3" onclick="fn3()"/>
</body>
</html>
/////////////////////////////////////////////////////////简单流程控制语句。太简单在此略掉///////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////js面向对象/////////////////////////////////////////////////////////////////
---------------------------1:主意如何创建实例
---------------------------2:函数的堆栈模型以及区别 var k = fn(指向堆中的函数);var k=fn()(调用函数得到返回值);
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
// var x = function() {
// alert("x");
// }
// //此时x就是一个function函数
// x();
// function fn() {
// alert("fn");
// //对于函数而言,直接写return就等于有返回值
// return "100";
// }
// //此时是将y这个变量指向函数fn,可以通过y()来调用函数
// var y = fn;
// fn();
// //可以调用
// y();
// //将函数fn所执行的返回值传给z变量,所以z为100
// var z = fn();
// alert(z);
// alert(y);
//可以使用function来模拟java的类
function Person(name,age) {
//定义了一个Person的属性为name
this.name = name;
//定义了Person的属性为age
this.age = age;
this.address = "云南昭通";
//如果没有用this声明,这个变量就仅仅只是一个局部变量,不是类的属性
var x = 10;
//创建了一个行为
this.say = function() {
alert(this.name+","+this.age);
}
}
//创建了一个对象p1是Person的对象
var p1 = new Person("张三",12);
alert(p1.name+","+p1.address+","+p1.x);
p1.say();
var p2 = new Person("德华",22);
p2.address = "香港";
//可以通过对象["属性字符串"]完成对属性的调用
alert(p2["name"]+","+p2["address"]);
alert(typeof p1);
alert(p1 instanceof Person);
//在js中对于对象而言,可以通过for in来变量对象的属性
for(var a in p1) {
//可以获取对象中的所有显示声明的属性
alert(a+":"+p1[a]);
}
</script>
</head>
<body>
<input type="button" value="http://www.mamicode.com/运行fn1" onclick="fn1()"/>
<input type="button" value="http://www.mamicode.com/运行fn2" onclick="fn2()"/>
<input type="button" value="http://www.mamicode.com/运行fn3" onclick="fn3()"/>
</body>
</html>
////////////////////////////////////////////////////////////////////js常用的对象///////////////////////////////////////////////////////////////////////////
--------日期时间
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
var d = new Date();
//对于js而言,月的下标是从0开始的
document.write(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"+"星期"+d.getDay());
</script>
</head>
-------字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
var str1 = new String("abc");
var str2 = "abc";
alert(str1==str2);
var s = str2.concat("hello","world");
alert(s);
//包含start不包含end
s = s.slice(2,4);
alert(s);
var str = "hello world";
//从2开始到5结束
alert(str.substring(2,5));
//从2开始取5个字符
alert(str.substr(2,5));
str = "abc.txt";
alert(str.substr(str.lastIndexOf(".")+1));
</script>
</head>
<body>
</body>
</html>
---------------数组对象
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js01_hello</title>
<meta name="author" content="Administrator" />
<script type="text/javascript">
//js的array就是java中的list和stack的集合
var as = new Array();
as.push(11);
as.push(22);
alert(as);
as = new Array(11,22,33,44,55,66,77,"111","222",23);
alert(as);
//一般使用以下方式定义数组
as = [11,12,1,2,3];
//转换为字符串通过---来完成连接
alert(as.join("---"));
//sort只会通过字符串来排序
alert(as.sort());
//颠倒顺序
alert(as.reverse());
as = [1,2,3,4];
//表示在索引为2的前面删除0个元素,并且增加两个元素31和32-->1,2,31,32,3,4
//as.splice(2,0,31,32);
//表示在索引为2的前面删除2个元素,并且增加两个元素31和32-->1,2,31,32
as.splice(2,2,31,32);
alert(as);
</script>
</head>
<body>
</body>
</html>
js01