JavScript笔记
一、Javascript概述
Javascript是基于对象和事件的脚本语言。
特点:1.安全性(不允许直接访问本地磁盘),他可以做的就是信息的动态交互。
2.跨平台性。(只要是可以解释js的浏览器都可以执行,和平台无关)
二、Javascript与java的不同
1.JS是Netscape公司的产品,java是sun公司的产品。
2.JS是基于对象和事件驱动,而java是面向对象。
3.JS是只需解释就可以执行(客户端执行只需浏览器就行),而java需要先编译成字节码文件,在执行。
4.JS是弱类型(非严谨的),java是强类型(严谨的)。
三、Javascript与Html结合方式
想要将其他代码融入到html中,都是以标签的形式。
1.JS代码存放在标签对<script>...</script>中。
2.使用script标签的src属性引入一个js文件,(方便后期维护扩展)。
例:<script src=”test.js” type=”javascript”></script>
注:规范中script标签中必须加入type属性。
四、JavaScript语法
每一种语言都有自己的语法规则,JS语法和java很像,所以学起来比较容易。Js中也一样有变量,语句,函数,数组等常见的组成元素。
1.变量
通过关键字var来定义,弱类型既是不用指定具体的数据类型。
例:var x= 3 ; x = “hello”;
注:JS中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined.
2.语句(java语法格式)
l 判断语句
注:var x = 3;
if(x==4)//可以进行比较运算
if(x=4)//可以进行赋值运算,而且可以同样进行比较判断,不报错。
alert(true+1)输出的是2 进行运算了,真假值可以进行运算
l 选择语句
Var x =”abcd”;
switch(x){
case “abc”:
alert(‘a’);
break;
case “aa”:
alert(‘c’);
break;
default:
alert(‘c’);
break;
}
l 循环结构(while语句和do while语句 for语句)
注:不同的是,没有了具体数据类型的限制,使用时要注意。
while(x<3){
alert(“x=”+x);
x++;
}
--------------------------------------------------------------------------------------------
for(var x = 0; x < 3; x++){
alert(“x=”+x);
}
----------------------------------------------------------------------------------------------
var sum=” ”;
for(var x = 1;x< = 4; x++){
if(x==4)
sum = sum + “x = ” + x ;
else
sum = sum + “x = ” + x + “ , ”;
}
Alert(sum);//弹出窗口显示
//在文档中显示
document.write(“<fontcolor = ‘red’>”sum”</font>”);
System.out.println();
-------------------------------------------------------------------------------------------
//用表格的形式显示99乘法表
<style type=”text/css”>
table{
width:600px;
boder-collapse:collapse;
}
table th{
boder:#0066cc lpx solid
}
<body>
document.write(“<tableboder=’1’>”);
for(var x=1;x<=9;x++){
document.write(“<tr>”);
for (var y=1;y<=x;y++){
document.write(“<th>”);
document.write(y+“*”+x+”=”+y*x);
document.write(“</th>”);
}
document.write(“</tr>”);
}
document.write(“</table>”);
</body>
--------------------------------------------------------------------------------------------
3. 函数
var arr = [5,1,2,7,4,9,3,6,8];
function show(arr){
alert(“show run”);
for(var x =0; x< arr.length;x++){
for(y=x+1; y<arr.length; y++){
if(arr[x] > arr[y])
{
var temp = arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
show(arr);
var str = “ ”;
functionprintArray(arr)
{
for(var x= 0; x<arr.length;x++){
if(x!=arr.length-1){
str+=arr[x]+” , ”;
else
Str+=arr[x];
}
alert(str);
}
}
printArray(arr);
动态函数
var show = newfunction(“x”,”y”, “var sum= x+y”, return sum;”);
var sum =Show(5,7);
alert(sum);
匿名函数:通常用于事件处理
var show =Function(){
alert (“function”);
}
show();
wlindow.onload =function(){
alert(“onload over”);
}
也可以写成这样儿的:
window.onload =method;
function method(){
alert (“function--------”);
}
show();
l 一般函数
格式:
Function 函数名(形式参数)
{
执行语句;
Return 返回值;
}
函数式多条执行语句的封装体,只有被调用才会被执行。
注意:调用有参数的函数,没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数一样可以调用执行。说的简单点就是,只要写了函数名后面跟了一对小括号,该函数就会运行,那么传递的参数呢?
其实,在函数中有一个参数数组对象(arguments),该对象传递的参数都封装在一个数组中。
例:
Function demo()//定义函数
{
Alert (arguments.length);
}
Demo(“hello”,123,true);//调用函数;
Function person(){
alert(“person init”);
}
Var p = new person();
P.name = “张三”;
P.age = 30;
P.eat = function(){
Alert(“eat”);
}
P.eat();
Function person(name,age){
This.name = name;
This.age = age;
}
Var p=new person(“李四”,90);
Alert(p[“name”]+”...”+p.age);//两种形式都可以,。
也可以封装起来,形成一个.Js文件引入.
<script type= “text/script” src=”person.js”></script>
此代码写在前面就可以啦。。。。。。。。。。。。。。。。。。
举例: 把数组的工具方法封装在js的文件中。
代码实现请查看在d://LZY/javascript/ArrayTool.js和js.html两个文件
4. 数组(最常用的容器)
长度可变的,不存在越界,可以存任意形式,可对其中的元素进行编号。
var arr = [4,1,6,8];
for(var x =0;x<arr.length; x++){
alert(arr[x]);
}