JavaScript学习笔记


JavaScript 基于对象和事件的脚本语言。特点是安全性和跨平台性。

 

JavaScript Java不同:

JsNetscape公司产品,javaSun公司的,现在是Orcale公司

Js是基于对象,java是面向对象

Js只需要解释就可以执行,java需要先编译成字节码文件,再执行

Js是弱类型,java是强类型

Js是非严谨的,java是严谨的

JavaScriptHtml的结合方式:

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句式格式相同,ifswitch语、whiledo whilefor语句等等。

注意它没有具体数据类型的限制。

使用逻辑运算符进行布尔表达式连接的时候,需要时短路与和短路或:&&、  ||

特有语句:

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>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值