zoukankan      html  css  js  c++  java
  • JavaScript(4)

    myfuns.js

        //自定义函数
        //输入两个数,再输入一个运算符(+,-,*,/),得到结果->函数
    
        function jiSuan(num1,num2,operator){//特别强调 参数名请不要带var
            var res=0;
            switch(operator){
            case "+":
            res=num1+num2;
            break;
            case "-":
            res=num1-num2;
            break;
            case "/":
            res=num1/num2;
            break;
            case "*":
            res=num1*num2;
            break;
        }
        return res;
        }

    在html中引入js的方法

    <script type="text/javascript" src="myfuns.js" language="javascript"></script>

    html代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>js中函数的使用</title>
    <script language="javascript" src="myfuns.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
    <!--
        var num1=window.prompt("请输入第一个num");
        var num2=window.prompt("请输入第二个num");
        var operator=window.prompt("请输入运算符");
        num1=parseFloat(num1);
        num2=parseFloat(num2);
        //如何调用函数呢?
        document.writeln("res=:"+jiSuan(num1,num2,operator));
    //-->
    </script>
    </head>
    <body>
    </body>
    </html>

    eval可以使字符串当做js代码来执行。

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

    escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取字符串。

    传递中文时,不同浏览器对中文的支持不一样,编码方式不一样。

    //escape和unescape函数往往配合使用,可以防止乱码出现。
    var str1="顺平";
    var str2=escape(str1);
    window.alert(str1);
    window.alert(str2);
    var str3=unescape(str2);
    window.alert(str3);

    而moveTo()只在IE浏览器中生效。

    window.moveTo(200,300);

    引入js时不能用<script/>,必须用<script></script>.

    函数的几种调用方式,

    function test(val){
            window.alert("您的输入是:"+val);
        }

    ①直接调用:

    test("中国北京");

    ②把函数赋值给变量,用变量调用:

    var myvar=test;
        myvar("中国北京");

    如果,window.alert(test);或者window.alert(myvar);把test函数中的内容输出。

    ③关于接收函数返回值的问题

    var myval=test;

    var myvar=test("abc");
    函数带参数和不带参数,情况是不一样的,一个是函数返回值,一个是函数的引用。
    如果test函数没有返回值,但是又接收返回值了,则返回的就是undefined;如果有返回值,则接收的就是函数赋值后的引用。

    js也有递归的,递归的运行要用到堆栈。

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

    案例:

    //abc是一个函数,它接收数值

      function(num1){

      if(num1>3){

      abc(--num1);

      }

      document.writeln(num1);

    }

    如果这样调用abc(5);则输出 3 3 4

    分析图:

    ①函数的参数列表可以是多个变量

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

    ③js支持参数个数可变的函数

    ④js支持创建动态函数

    特别强调一下,js的函数天然支持可变参数

    //编写一个函数,可以接收任意多个数,并计算它们的和
    function abc2(num1,num2){
    //在js中有一个arguments,可以访问所有传入的值
    //window.alert(arguments.length);
    //遍历所有的参数
    for(var i=0;i<arguments.length;i++){
    window.alert(arguments[i]);
    }
    }

    可以这样调用:

    abc2(2,3,4);
    //说明JavaScript是一种动态语言
    abc2(0,"helloworld");

    arguments是系统本身就有的。

    js不支持的函数的重载,因为它可以允许参数列表不一样。

    数组

    JavaScript数组的特点非常明显,数组里可以放任何类型的数据。

    ①为什么需要数组

    存数据

    ②解决方法

    使用数组,这种数据类型(引用类型/复杂类型/复合类型),数组的基本概念:用于存放一组数据。

    特别强调:js中的数组,可以存放各种数据类型(数值/字符串...)

    王大爷养乌龟(快速入门)。

    在js中保留两位小数

    avg_weight=new Number(avg_weight);

    avg_weight=avg_weight.toFixed(2);

  • 相关阅读:
    jQuery 中 children() 与 find() 用法的区别
    JSON.parse()和JSON.stringify() 的用法区别
    Cookie 与Session 的区别(转载)
    Ajax的post方法,模拟 从后台读取数据小demo
    Tab切换栏
    C# Linq to Entity 多条件 OR查询
    C# 执行DOS命令和批处理
    C# 将DataTable数据源转换成实体类
    MYSQL 企业常用架构与调优经验分享
    C# 虚方法virtual详解
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9755617.html
Copyright © 2011-2022 走看看