JavaScript学习笔记,
JavaScript学习笔记,
JavaScript 基于对象和事件的脚本语言。特点是安全性和跨平台性。
JavaScript 和Java不同:
Js是Netscape公司产品,java是Sun公司的,现在是Orcale公司
Js是基于对象,java是面向对象
Js只需要解释就可以执行,java需要先编译成字节码文件,再执行
Js是弱类型,java是强类型
Js是非严谨的,java是严谨的
JavaScript与Html的结合方式:
Javascript需要被浏览器所解释执行,就必须要将代码和html相结合
1.js代码存放在标签<script>...</script>中
2.使用script标签的src属性引入一个js文件(方便后期维护,扩展)
<script src=”test.js” type=”javascript”></script>
规范中script标签中必须加入type属性
Javascript语法
Js语法与java很像,也有变量,语句,函数,数组等常见语言组成元素。
1.变量。
通过关键字var来定义,可以赋予不同类型常量。
var x=3;
2.语句。
与java句式格式相同,if、switch语、while、do while、for语句等等。
注意它没有具体数据类型的限制。
使用逻辑运算符进行布尔表达式连接的时候,需要时短路与和短路或:&&、 ||
特有语句:
1.with (对象){}: 可以确定对象所使用的范围。在范围内可直接使用指定
对象的属性和行为,而不用 对象. 的形式,简化操作。
2.for(变量in 对象 ) :可以对对象的属性及行为进行遍历
For(s in str)
{ alert (stu[s])}
3.函数。
a)一般函数
格式:
Function 函数名(形式参数...)
{
执行语句;
Return 返回值;
}
函数只有被调用才会执行
注意:调用有参数的函数,但没有给其传值,函数一样运行
调用没有参数的函数,给其传值,函数也运行
b)动态函数
var show =new function(“x”,”y”,”var sum =x+y; return sum;”);
var sum =(12,5);
alert(sum);
特点:可以将参数列表和方法体作为参数传递。
c)匿名函数
var show =function(){}
show();
通常用于事件处理。
Window.onload = function(){alert(‘onload over’);}
4.数组。
方便操作多元素的容器,可以对其中元素进行编号。
特点:可以存任意元素,长度是可变的。
格式:var arr= new Array();
arr[0] = “hello”;
arr[1] =”abc”;
var arr =[‘hello’,4165456,true,”dgsgsg”] ;
var arr = [[1,2,3],[4,5,6]];
遍历 for(var x=0;x<arr.length;x++)
{
alert(arr[x]);
}
定义对象:
Function Person(){}; //很像java中的构造函数
var p =new Person;
P.name =”zhang”;//定义成员变量
P.age=20;
在函数使用中需要注意的部分:
function show()
{
Alert(“dsagdsgds”)
}
var stu =show(); //正确,将show()运行结果赋值给stu变量。
vat stu =show; //正确,将show指向的对象的地址赋值给stu,那么可以通过
stu(); 的形式来调用这个show方法。
--------------------------------------------------------------------------------------------------------
Js可以通过对象形式将数据进行封装,
首先对对象进行描述通过函数来完成。
function Person()
{
This.name =name;
This.age =age;
}
var p=new Person(“zhang”,25);
alert(p[“name”]+p.age);
p.show= function()
{
Alert(“dsfdsf”);
}
------------------------------------------------------------------------------------------------------------
Js中已经定义好的一些对象。
1.String,Math,Date,Array,Function
都中有一个prototype属性,它可以获取指定的对象引用。
通过该引用给已有的对象赋予一些新的功能。
那么在使用该对象时,可以直接调用定义好的新功能。
function getMax() //取最大值
{
var max=arr[0];
for(var x=1;x<arr.length;x++)
{
if(max<arr[x])
max=arr[x];
}
return max;
}
var arr =[1,8,5,9,12];
arr.sort(); //直接调用Array对象的sort方法对数组进行排序
或者:
array.prototype.getMax = getMax; //将getMax方法添加到Array对象中
var x =arr.getMax(); //然后再像调用sort方法一样调用getMax方法
alert(“max=”+x);
-------------------------------------------------------------------------------------------------------------
常见的全局方法:
1.parseInt(numstr,[t=radix]); //将数字格式的字符串转成整数,如果指定了基数,
那么numstr就会按照执行基数进行转换
var ranNum = parseInt(“1110”,2); //”1110”是二进制
alert(“num=”+num); // num=14
2.toString()
var x =14; alert(x.toString(2)); //得到14的二进制
......
下面是一些事例,把注释的单独打开都能运行
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数组演示</title>
</head>
<body>
<script type="text/javascript" src="ArrayTool.js"></script>
<script type="text/javascript" src="Person.js"></script>
<script type="text/javascript">
//调用数组工具类
var arr=[1,3, 85,6,2];
var a=ArrayTool.getMax(arr);
alert("数组中的max="+a);
/*
function show()
{
// for(var x=0;x<arguments.length;x++)//参数都传到这里
// {
// alert(arguments[x]);
// }
return 4;
}
//show(arr); //函数调用
//alert(show); //返回的不是show的运行结果,而是show
alert(show()); //返回的是show的运行结果
*/
/*
alert(p.getName());
*/
/*
var p=new Person("li",35);
alert("name: "+p["name"]+"age:"+p.age);//两种写法
var p=new Person("zhang",35);
with(p) //操作对象的语句with
{
alert("name: "+name+",age: "+age);
}
for(s in p) //遍历对象
{
alert(s+":"+p[s]);
}
*/
var arr=[1,8,5,3,6,4];
alert("遍历数组[1,8,5,3,6,4]");
for(s in arr) //遍历数组
{
alert(arr[s]);
}
/*
var d= new Date();
with(d)
{
var month =(getMonth()+1);
month =(month>9)?month:"0"+month;
alert(getFullYear()+"年"+month+"月"+getDate()+"日 星期"+getDay());
}
*/
var Num = parseInt("1110",2); //将数字格式的字符串转成整数
alert("1110的十进制是"+Num);
var x =14;
alert("14的二进制是"+x.toString(2));
/*
var str="adsfg";
var x=str.charAt(2); //返回指定索引位置的char值
var y=str.bold(); //加粗
var z=str.fontcolor("red");
var a=str.link("http://www.icbc.com.cn")//把str的值变成超链接了
alert(x);
document.write(a);
*/
</script>
</body>
</html>
相关文章
- 暂无相关文章
用户点评