Java Script-Lesson02

来源:互联网 发布:sql统计表字段数 编辑:程序博客网 时间:2024/05/22 06:06

javascript 脚本语言 用户交互

1. 变量

  • JavaScript中,作用域先在当前范围查找,找不到时到上一层找,直到找到或者到最外层停止#,另,a=1;,如果找到最外层都没有,作用域会自动把它当成全局变量,所以最好写成var a=1;
    这种寻找机制可以用来避免冲突,因为它只会像上一层寻找,不会寻找上层的其他子层,这一点就可以利用起来,在不涉及其他层的情况下,同一级别的不同子层可以有相同的变量,不会冲突。

  • var 变量名称 ,变量的声明, 给变量进行初始化 ,给变量赋值。
    全局变量与局域变量的不同在于其作用域不同。
    闭包: 将局部变量在其他作用域里面用,尽量避免使用闭包 ,会将值存在内存。

 function info(){            var a=1;            function inFo(){            document.write(a);            }        return inFo;        }    var ban = info();    ban();

2. 计时器

setTimeout (): 只执行一次, 递归的情况下循环执行,函数自己调用
setInterval() :循环执行

3. 计算器

    //获取按钮和屏幕显示    var btn = document.getElementsByClassName("btn");    var Screen = document.getElementsByClassName("txt")[0];    //空数组,存放计算内容    var result = [];    for (var i = 0; i < btn.length; i++) {        btn[i].onclick = function () {            //判断输入的是否是数字和小数点            if (!isNaN(this.value) || this.value == ".") {                //一个数不能显示二个小数点                if (Screen.value.indexOf(".") == -1) {                    Screen.value += this.value;                } else {                    if (this.value != ".") {                        Screen.value += this.value;                    }                }            }            //是否输入的是运算符号            if (this.value == "*" || this.value == "-" || this.value == "+" || this.value == "/") {                //连续输入运算符号,以最后一个为准                if (result[result.length - 1] == "*" || result[result.length - 1] == "-" || result[result.length - 1] == "+" || result[result.length - 1] == "/") {                    result[result.length - 1] = this.value;                } else {                    result[result.length] = Screen.value;                    result[result.length] = this.value;                }                Screen.value = "";            }            //输入等号            if (this.value == "=") {                //保存屏幕的数值,并将数组转换成字符串                result[result.length] = Screen.value;                var str = "";                for (var a = 0; a < result.length; a++) {                    str += result[a];                }                //输入没有运算符号只将数值显示出不运算                if (str.indexOf("+") == -1 && str.indexOf("-") == -1 && str.indexOf("*") == -1 && str.indexOf("/") == -1) {                    Screen.value = result[result.length - 1];                } else {                //有,进行运算                    Screen.value = eval(str);                }                result = [];            }            //清空            if (this.value == "C") {                Screen.value = "";                result = [];            }            //倒退            if (this.value == "D") {                Screen.value = Screen.value.substr(0, Screen.value.length - 1);            }        }    }

可以进行简单运算,连续运算也可以进行,但对于类似*7,-5这种运算结果只能显示7,5,待改进。

4. 逻辑语句

与或非、switch case,for,if else逻辑与C类似。

原创粉丝点击