js学习笔记(一)

来源:互联网 发布:bitspirit mac 编辑:程序博客网 时间:2024/06/05 01:09

Js的基本介绍

Js是用于web开发的脚本语言,常用来给html网页添加动态功能,比如响应用户的各种操作。

脚本语言是什么?

(1)    脚本语言往往不能独立使用,它和html/jsp/php/asp/asp.net配合使用才有意义。

(2)    脚本语言有自己的变量,函数,控制语句

(3)    脚本语言是解释型语言(和编译语言的区别是否生成目标代码)。

(4)    脚本语言一般都有相应的脚本引擎来解释执行,js的脚本引擎是浏览器。因为js是由浏览器来解释执行的,因此这里有一个问题,不同的类型的浏览器可以对js的支持不一样

案例1,需求,在打开网页后,显示helloworld

代码这里省略不写了从中引出的问题

①js的位置?可以随意

②js必须用<scriptlanguage=”javascript”><script>包起来,如果没有使用script包起来,则浏览器会将其视为普通文本。

③在一个html文件中(jsp/php/asp)可以出现多对script片段,浏览器会按照先后顺序依次执行。

案例2,对上个案例进行改进,让它成为一个简单的加分运算程序。

看点,

如何定义变量 js中变量用var来表示

如何运算

Js的变量类型究竟怎样决定

(1)js是弱数据类型语言

即在定义变量的时候,统一使用var表示即可,甚至去掉var也可以。

(2)js中变量的数据类型是由js引擎决定的

Js的函数

js为什么需要函数?

案例:输入两个数,在输入一个运算符(+,-,*,/),得到结果。

<scripttype="text/javascript">

var num;

var num1=parseInt(window.prompt("请输入第一个数"));

var num2=parseInt(window.prompt("请输入第二个数"));

var op=window.prompt("请输入运算符");

if(op=='+'){

         num=num1+num2;

}else if(op=='-'){

         num=num1-num2;

}else if(op=='*'){

         num=num1*num2;

}else if(op=='/'){

         num=num1/num2;

}

window.alert(num);

</script>

请思考如果在其它的html文件中也要完成该功能,怎么办呢?

解决方案——函数

为完成某一功能的程序指令,成为函数,在js中,函数分为自定义函数和系统函数

基本语法

function  函数名(参数列表){             特别强调参数前不能带var

}

修改后代码

<scripttype="text/javascript">

functionjisuan(num1,num2,op){

        var num;

        if(op=='+'){

        num=num1+num2;

}elseif(op=='-'){

        num=num1-num2;

}elseif(op=='*'){

        num=num1*num2;

}elseif(op=='/'){

        num=num1/num2;

}

returnnum;

}varnum1=parseFloat(window.prompt("请输入第一个数"));

varnum2=parseFloat(window.prompt("请输入第二个数"));

varop=window.prompt("请输入运算符");

window.alert(jisuan(num1,num2,op));

</script>

如果其它的html文件要使用该函数又怎么办呢?

把上面的函数单独提出,写到js然后在需要的地方引入

<script language="javascript"src=" "/></script>

系统函数eval  需求把字符串str当成一个脚本来使用

var str="window.alert('ok')"

eval(str);

escape和unescape往往配合使用,防止乱码的出现。

函数的几种调用方式

1,函数名(传递给函数的参数1,传递给函数的参数2,。。。)

2,变量=函数名

此时变量就相当于函数的引用(指针),可以这样调用函数 变量(实际参数…)

   如果写成了变量=函数名() 则把函数的返回值给变量,如果函数没有返回值则undefined

Js函数的调用过程,内存分析

案例:

functionabc(num1){

      if(num1>3){

       abc(--num1);

      }

      document.write(num1);

}

如果这样调用abc(5);则结果为334

函数——深入使用

①,函数的参数列表可以是多个,并且数据类型是任意的

②,js支持参数个数可变的函数

   例:编写一个函数,可以接受任意多个数,并计算它们的和

  在js中有一个arguments可以访问所有传入值

  function a(){

     var res=0;

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

            res+=arguments[i];

     }

     window.alert(res);

}

③,js支持创建动态函数