JavaScript学习笔记

JavaScript学习笔记

(以下观看学习视频时,整理的笔记)

一.JS入门

<script type="text/javascript">

        alert(new Date().toLocaleDateString());

</script>

1.JavaScript代码放在<script>标签中,script可以放到<head>、<body>等任意位置,而且可以有不止一个<script>标签。alert函数是弹出消息窗口,new Date()是创建一个Date类的对象(默认值是当前时间)

2.放在<head>中的<script>在body加载之前就已经运行

3.除了可以再页面中声明JavaScript以外,还可以将JavaScript写到单独的JS文件中,然后在页面中引入:<script src=”test.js” type=”text/javascript”></script>。声明到单独的JS文件的好处是多页面也可以共享、减少网络流量。

4.<scriptlanguage=”…”>已经不推荐使用。

5.在超链接的点击里执行JavaScript:<a href=”javascript:alert(88)”>发发</a>

6.JavaScript中也有事件的概念,当按钮被点击的时候也可以执行Javascript:

<inputtype=”button” οnclick=”alert(99)” value=”久久”/>

只有超链接的href中的JavaScript中才需要加”javascript:”,因为它不是事件,而是把”javascript:”看成像”http:”、”ftp:”、”thunder://”、”ed2k://”、”mailto”一样的网络协议,交由JS解析引擎处理。只有href中,这是一个特例。

 

 

二.JS的变量

1.JavaScript中即可以使用双引号声明字符串,也可以使用单引号声明字符串,主要是为了方便和html集成,避免转义符的麻烦

2.JavaScript中有null、undefined两种,null表示变量的值为空,undefined则表示变量还没有指向任何的对象,未初始化

3.JavaScript是弱类型,声明变量的时候无法:int i=0;只能通过var i=0;声明变量,和C#中的var不一样,不是C#中那样的类型推断

4.JavaScript中也可以不用var声明变量,直接用,这样的变量是”全局变量”,因此除非确实想用全局变量,否则使用的时候最好加上var

5.JS是动态类型的,因此var i=0”; i=”abc”;是合法的

 

判断变量初始化

JavaScript中判断变量、参数是否初始化的三种方法(推荐最后一种):

a.     var x;

if(x==null){

alert(“null”);

}

b.     if(typeof(x)==”undefined”){

alert(‘undefined’);

}

c.      if(!x){alert(‘x’)}

if(x){}//变量被初始化了或者变量不为空或者变量不为0

 

 

三.JS出错与调试

1.如果JavaScript中的代码有语法错误,浏览器会弹出报错信息,查看报错信息就能帮助排查错误

2.JavaScript的调试,使用VS可以很方便的进行JavaScript的调试,调试时需要啊注意几点:

a.IE的调试选项要打开,Internet选项→高级,去掉“禁用脚本调试”前的勾选;b.以调试方式运行网页;

c.设置断点、监视变量等操作和C#一样(断点设置好,F5之后,右击要查看的变量,选择”加入监看式”,按F10逐步执行)

 

 

四.函数的声明

1.JavaScript中声明函数的方式:

function add(i1,i2){

                        Returni1+i2;

}

2.不需要声明返回值类型、参数类型。函数定义以function开头

        Var r=add(1,2);

        Alert(r);

        r=add(“你好”,”tom”)

        alert(r);

3.JavaScript中不想C#中那样要求所有路径都有返回值

 

匿名函数:

        Var f1=function(i1,i2){

                return i1+i2;

}

Alert(function(1,2));

1.     类似于C#中的匿名函数

2.     这种匿名函数的用法在JQuery用的非常多  

 

 

五.JS面向对象基础(重要)

1.JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的,下面讲解的时候还是用C#中的类、构造函数的概念,JavaScript中的String、Date等”类”都被叫做”对象”,挺怪,方便初学者理解,不严谨。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);

p1.SayHello();

必须要声明类名,function Person(name,age)可以看做是声明构造函数,Name、Age这些属性也是使用者动态添加了

 

 

六.Array对象

1.JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#中数组、ArrayList、Hashtable等的超强综合体;

        var names=new Array();

        names[0]=”tom”;

names[1]=”jerry”;

names[2]=”john”;

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

        alert(names[i]);

}

3.     无需预先制定大小

 

 

七.JS中的Dictionary

1.JS中的Array是一个宝贝,不仅是一个数组,还是一个Dictionary,还是一个Stack

        var pinyins=new Array();

        pinyins[“人”]=”ren”;

pinyins[“口”]=”kou”;

pinyins[“手”]=”shou”;

alert(pinyins[“人”]);

alert(pinyins.人);

像Hashtable、Dictionary那样用,而且像它们一样效率高

 

 

八.Array的简化声明

1.Array还可以有简化的创建方式:

        var arr=[3,5,6,8,9]普通数组初始化

        这种数组可以看做是pinyins[“人”] =”ren”;的特例,也就是key为0、1、2…..

2.字典风格的简化创建方式:

        var arr={“tom”:30,”jim”:20};

 

 

九.数组、for及其他

1.对于数字风格的Array来说,可以使用join方法拼接为字符串

        var arr={“tom”,”michel”,”john”};

        alert(arr.join(“,”));   //JS中join是array的方法,不想.NET中是string的方法,for循环可以像C#中的foreach一样用

2.for循环还可以获得一个对象所有的成员

        for(var e in document){

                alert(e);

}


数组的创建:

        1.var arr=new array();

        2.var arr=[‘a’,’b’,’c’,’d’];

        3.var arr=new array(‘a’,’b’,’c’,’d’)

        4. var arr=new array(10);


 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值