zoukankan      html  css  js  c++  java
  • 胖客户端

    瘦客户端是过去时。 随着电脑性能的提升, 胖客户端才是如今的流行色。

    胖客户端,主力军是 JavaScript.

    1. JavaScript 有个原则:渐进增强 平稳退化

        这是什么意思呢?

        例如:客户提交表单时,有很多选项。你希望有一个全选按钮,点击一下,便全部选上。

        这一功能是依靠 JavaScript 实现的。如果客户端禁用 JavaScript,那么,这个全选按钮,就成了多余的东西。

        渐进增强:就是连这个按钮也用 JavaScript 创建。如果客户端没有禁用 JavaScript,就创建全选按钮,点击,OK!一切正常。

        平稳退化:就是如果客户端禁用 JavaScript,则全选按钮根本不创建。OK!仍然一切正常,只是没有全选功能而已。

    2. JavaScript 有个难点:闭包

        何谓闭包?先看代码:

    代码
    1 var f;
    2
    3  function MyFunc() {
    4 if (f) {
    5 f();
    6 }
    7
    8 if (!f) {
    9 f =function() {
    10 alt(i++);
    11 };
    12 }
    13
    14 var i =1;
        f();  //注1
    15 alt("MyFunc i = "+ i);
    16 }
    17
    18 MyFunc();
    19 MyFunc();

    Line-18 执行的显示是:“1”  和  “MyFunc i = 2”;

    Line-19 执行的显示是: “2” 、“3” 和 “MyFunc i= 1”;

    为什么同一函数,两次执行的显示却不一样呢? 这就是闭包在作怪。

    闭包:是个运行时的概念。

    因为 f 在,所以 f 执有的匿名函数在。因为匿名函数执有 MyFunc 的变量 i,所以,第一次运行的 MyFunc 也在。

    第二次 MyFunc 运行时,f 执有的仍是第一次 MyFunc 运行的变量。所以第二次显示 “MyFunc i = 1”, 表明第二次的 i 与 f 持有的第一次的 i 不是同一个变量。

    注1 是理解闭包的关键。

  • 相关阅读:
    第四次
    jsp
    2021.3.4
    第八次作业
    第七次作业
    第六周作业
    第五周作业
    第四周
    第四次jsp作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/china_x01/p/1908321.html
Copyright © 2011-2022 走看看