黑马程序员 javascript基础

来源:互联网 发布:服装et软件cad 编辑:程序博客网 时间:2024/05/21 06:49

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

 

JavaScript是在浏览器端执行的语言,它可以在浏览器里执行一些计算,判断。

JavaScript是一种解释型语言,无需编译就可以运行,这样哪怕有语法错误,没有语法错误的地方还可以运行 C#是一种编译型的语言,只有编译了才可以运行

 

 

1.      

 像定义一个 内联的样式一样,一般的我们把javaScript代码写在<head>标签里,也可以写在<body>标签任意位置,可以出现任意个 <script>标签

例:<head>

                   <script  type=”text/javascript”>

                            alert(new Data().toLocaleDataString()); //弹出一个当前时间的对话框

                   </script>

</head>

 

 

 javaScript 代码同样可以像CSS文件一样,写在一个单独的javaScript文件中,然后在<head>标签里引用

 <head>

        <script src=”test.js” type=”text/jacascript”> 

</script>

</head>

 

 

 

2.      事件

点击超链接弹出对话框

 例子:

<ahref=”javascript:alert(‘hello’)">点点</ a>            //这里在超链接里超文本引用的方式是一种特例

<a href=”1.htm”onclick=”alert(‘hello’) ">点点</a>   //点击后弹出对话框

 

3.      

 javascript弱类型语言,声明变量时用var  i = 0;不能像C#中像 int i= 0;那样区分数据类型;赋值时可以给变量赋值null(空)或者 undefined(没有指向任何对象),声明变量的时候不写var那么那个变量就是全局变量(不推荐使用)

 声明变量后,变量指向什么类型那么变量就变成什么类型,所以 var i= 10 i= “abc” 是正确的

 

 

 

4.      

 

         javascript调试与排错

错误提示:IE—>工具-àInternet选项-à高级-à禁用脚本提示

调试:把要调试的页面设为起始页,然后设置断点,再调试

 

 

5.      

        判断变量是否初始化一般用

Var x;

If(!x) (alert(‘x’);)     //判断变量是否初始化

 

6.      

   函数 不需要定义函数返回值类型,参数类型,定义函数以 function开头

function addi1i2{

return i1+i2

}   这里没有分号

注意javascript定义函数的时候第一个花括号紧跟在函数的末尾

函数如果没有返回值,那么默认是 undefined

 

 

 

匿名函数 

var f1=function(i1,i2){

return i1+i2;

}; //注意,这里有分号而直接声明函数的时候没有分号 

alert(f1(2,3))

 

 

alert(function(i1,i2){return i1+i2}(10,10);  //直接声明一个匿名函数立即使用

 

 

 

 

7.      

         javascript中没有类的语法,是用函数模拟出来的。 声明一个函数,当成类用

function Person(name,age){

this.Name = name;

this.Age = age;

this.SayHello=function(){

          alert(“你好,我是”+this.name+”我今年”+this.age+”岁了!”);

}

}

Var p1=new Person(“tom”,20);  //注意这里是让一个变量指向new出来的对象

p1.SayHello();

p1.Sex = “”;           //这里在定义类的外面动态的添加了属性

alert(p1.Sex);

必须要声明类名,function Personname,age)可以看做是声明构造函数Name,Age这些属性也是使用者动态添加的。也就是说函数定义的外面还可以自由添加属性

 

 

 

8.      

          javaScript中的 Array对象就是数组他是一个动态的数组,大小不固定。使用前先new一个对象,让一个变量指向该数组,然后可以通过索引[下标]的方式访问

例子:

       var names = new Array();

names[0] = “tom”;

names[1] = “jim”;

names[2] = “xiaolan”

for(var i = 0; i < names.length; i++){

alert(names[i]);

}

 

Javascript中的 数组元素反转函数 reverse,,将数组用分隔符连接成一个字符串的函数 join

  

JavaScript中的Array既是数组,又是字典,还是 stack  

例子: 

    var pinins = new Array();

              pinyins[“”] = “ren”;   //设置key和值

             pinyins[“”] = “kou”;

              pinyins[“”] = “”; 

    alert(pinyins[“”]);  //通过key打印值

     alert(pinyins.);  //可以像属性一样用,但不推荐,让人迷惑。实际上它不是属性

 

当字典用的时候,javascript中也可以像C# foreach遍历那样遍历但是JS中没有foreach关键字,它用的是for,遍历出来的是key 例子: for(var key in pinuyins){alert(key)}

 

 

  通过上下2个比较,可以发现,JS中数组用法其实是字典的一个特例,如果遍历数组用法会发现打印出来的是数组的下标,数组的下标可以看做是字典的int型的 key

 

 

 Array的简化  

数组用法简化

var arr = [3,5,6,8,9]   //普通数组用法,(注意这里是方括号)

可以看成是pinyins[“”]= “ren”;的特例,也就是key 1 2,3……

字典风格简化 

 var arr={“tom”:30,”jim”:20}         //前面是key后面是值 (这里是花括号)

 

 

9.    

   可以用 for遍历对象的所有成员(属性和方法)

例子:

var p1 = new object();  //new一个object类型的对象,让变量p1指向他

p1.Name = “tom”;     //动态的添加属性和方法

p1.Age = 30;

p1.SayHello = function(){alert(“hello”);}

for(var e in  p1){ alert(e);}   //遍历p1这个对象的所有成员

 

 

 

 

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
详细请查看:
http://net.itheima.com/

 

原创粉丝点击