JavaScript(一) - 精简

javascript
一 javascript 是什么? 

 1. 运行在浏览器端 ,定义网页的行为,
 2.所有的html页面都有js.
  
二 javascript 定义方式?

 1 在html文件里

  js 可以在html文件里的任何位置.

   html中的脚本必须放在<script></script>标签之间.

 2 引外部的js文件
  <head>
      <script src="index.js"></script>
   </head>

三 javascript 语法规则?

  1 每条执行语句结束添加分号,表示语句完毕,
  2 js代码按照执行顺序执行每条语句,
  3 js代码可以分批的组合,代码块以左花括号开始,右花括号结束,
  4 js代码大小写敏感,注意区分大小写,表示含义不同.
  5 js的注释 单行注释 //  多行注释 /* js程序  */
       html 注释
       css  /* */

四 javascript 字面量?
    一个字面量就是一个常量 

数字 (Number)
     包含整数和小数 
    字符串 (String)
     使用单引号或者双引号包含的内容 "aadmin" ‘admin‘
    数组 (Array)
     [10,100,20,200,30,300]表示一组数,内部也可以是字符串等数据
    对象 (Object)
     {id:001,name:"liyang",age:10,adress:"西安"}
    函数 (Function)
    function functionName(参数){}
    表达式
    3+5 2*3

五 javascript 输出?

1  警告框 window.alert()  - alert(‘‘),
  2  输出带html文档中 document.write()
  3 写入到html元素里 innerHTML
  4  打到控制台   console.log()

六 变量

1 变量是用来存储数据的

2 怎么来定义变量
     用 var 定义变量 
       用 等号 来为 变量赋值
3语法格式
    var varName = 变量值;
  注意事项:
    1变量名必须以字母开头.
    2 变量名称对大小写敏感 
     (Y 和 y 是不同的变量).

七 数据类型 

数字    number   整数或小数
    字符串   string   "" 或 ''
    布尔    boolean  true / false
    数组    array    用[  ]表示
    对象    object   用 { }表示
    空     null
    未定义  undefined

八 js 的基本写法

    function function(参数){

js函数块
           [return 表达式]
       }
          []里面的值是可选内容.

九 对象

  document 对象
     对html页面的所有元素进行访问.

document.getElementsByClassName(‘className‘)
        //是取得页面中标签中的class名
        document.getElementById(‘id‘)
        //是取得页面中标签中的id名
        document.getElementsByName(‘name‘)
        //是取得页面中标签名属性名为name的标签对象
        document.getElementsByTagName(‘tagName‘)
        //是取得页面中标签

  arguments
    js  大多数就是对象
    arguments js对象里的一种
    作用:索引 

arguments.length;
    //获取被传递参数的长度.

arguments[index]
    //获取指定位置的参数值.

十 作用域 

   1 什么是作用域:可访问变量,对象,函数的集合.

   2 分类:局部作用域 和 全局作用域

局部作用域 : 局部变量 - 只能在函数的内部访问
           全局作用域 : 全局变量 - 网页中所有妇人脚本和函数均可使用.

 3 变量的生命周期: 
        1 变量生命周期在声明时初始化.
        2 局部变量在函数执行完之后销毁.
        3 全局变量在页面关闭时销毁.

 4 函数参数 : 只在函数内部起作用,是局部变量.

两者之间的区别 :

全局变量                 局部变量

定义位置    js代码区内函数体外            位于函数体中

作用范围     作用于整个js代码区域          只能在本函数体中进行使用
                   (包括内部的所有函数)

生命周期     比较长                      比较短(随着函数的调用而产生,调用结束就销毁)

注意事项: 
         1、在定义多个全局变量的时候,彼此之间是不允许重名的。
           2、在定义局部变量的时候,彼此之间也是不允许重名的。
           3、但是全局变量和局部变量之间可以存在重名的情况,这时遵循的是就近的原则。

十一 函数

    1 什么是函数 :由事件驱动的或者当它被调用时执行的可重复使用的代码块。

    2 函数语法:
                    function functionName(){
                        执行代码
                    }

  注意: JavaScript 对大小写敏感。关键词 function 必须是小写的,
             并且必须以与函数名称相同的大小写来调用函数.

3 分类 1 调用带参数的函数

          在调用函数时,可以向其传递值,这些值被称为参数。

          这些参数可以在函数中使用。

          可以发送任意多的参数,由逗号 (,) 分隔:
           myFunction(argument1,argument2)

当您声明函数时,请把参数作为变量来声明:
                  function myFunction(var1,var2)
                  {
                      代码
                  }

eg:
  <button onclick="myFunction(‘Harry Potter‘,‘Wizard‘)">点击这里</button>
  <script>
      function myFunction(name,job){
          alert("Welcome " + name + ", the " + job);
      }
 </script>

2  带有返回值的函数

我们会希望函数将值返回调用它的地方。通过使用 return 语句就可以实现。
          在使用 return 语句时,函数会停止执行,并返回指定的值。

eg:
      function myFunction(a,b){
                return a*b;
         }
      document.getElementById("demo").innerHTML=myFunction(4,3);

十二 操作符 typeof

1 作用: 检测变量的数据类型.
        eg: document.getElementById("demo").innerHTML =
                typeof "john" + "<br>" +
                typeof 3.14 + "<br>" +
                typeof false + "<br>" +
                typeof [1,2,3,4] + "<br>" +
                typeof {name:‘john‘, age:34}; 
      注意:数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object

2 null

null 表示 "什么都没有"。
         null是一个只有一个值的特殊类型。表示一个空对象引用。

3  Undefined

 1 undefined 是一个没有设置值的变量。
         一个没有值的变量会返回 undefined。
        eg:
            var person;
            document.getElementById("demo").innerHTML =
               person + "<br>" + typeof person;

2 任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

eg:
          var person = {firstName:"John", lastName:"Doe", age:50, };
          var person = undefined;
          document.getElementById("demo").innerHTML =
             person + "<br>" + typeof person;

十三  类型转换 

  (一) 
        5 种不同的数据类型:string,number,boolean,object,function

  3 种对象类型: Object,Date,Array

  2个不包含任何值的数据类型:null,undefined

  eg:
     document.getElementById("demo").innerHTML =
        typeof "john" + "<br>" +
        typeof 3.14 + "<br>" +
        typeof NaN + "<br>" +
        typeof false + "<br>" +
        typeof [1,2,3,4] + "<br>" +
        typeof {name:‘john‘, age:34} + "<br>" +
        typeof new Date() + "<br>" +
        typeof function () {} + "<br>" +
        typeof myCar + "<br>" +
        typeof null;
   注意: 
        NaN 的数据类型是 number
        数组(Array)的数据类型是 object
        日期(Date)的数据类型为 object
        null 的数据类型是 object
        未定义变量的数据类型为 undefined
     对象是Array 或  Date ,无法通过 typeof 来判断他们的类型,都返回 Object

(二) constructor 属性

    1 查看是对象是否为数组 (包含字符串 "Array"):
 eg:
      var fruits = ["Banana", "Orange", "Apple", "Mango"];
      document.getElementById("demo").innerHTML = isArray(fruits);
      function isArray(myArray) {
         return myArray.constructor.toString().indexOf("Array") > -1;
     }

2 查看是对象是否为日期 (包含字符串 "Date"):
  eg:
     var myDate = new Date();
     document.getElementById("demo").innerHTML = isDate(myDate);
     function isDate(myDate) {
         return myDate.constructor.toString().indexOf("Date") > -1;
     }

(三) 将数字转换为字符串

 1 全局方法 String() 可以将数字转换为字符串。
     该方法可用于任何类型的数字,字母,变量,表达式:
   eg:
       var x = 123;
       document.getElementById("demo").innerHTML =
        String(x) + "<br>" +       // 将变量 x 转换为字符串并返回
        String(123) + "<br>" +     // 将数字 123 转换为字符串并返回
        String(100 + 23);          // 将数字表达式转换为字符串并返回

2  Number 方法 toString() 也是有同样的效果

var x = 123;
      document.getElementById("demo").innerHTML =
       x.toString() + "<br>" +
       (123).toString() + "<br>" +
       (100 + 23).toString();

(四)将布尔值转换为字符串

1 全局方法 String()

String(false)        // 返回 "false"
          String(true)         // 返回 "true"
     eg:
        document.getElementById("demo").innerHTML =
        typeof(String(false) + "<br>" +
        String(true));

2 Number 方法 toString()

false.toString()     // 返回 "false"
         true.toString()      // 返回 "true"

  (五) 将字符串转换为数字

1  全局方法 Number() 可以将字符串转换为数字。
       字符串包含数字(如 "3.14") 转换为数字 (如 3.14).
       空字符串转换为 0。其他的字符串会转换为 NaN (不是个数字)。
       eg:
        Number("3.14")    // 返回 3.14
        Number(" ")       // 返回 0
        Number("")        // 返回 0
        Number("99 88")   // 返回 NaN

2
         parseFloat()     解析一个字符串,并返回一个浮点数。
         parseInt()     解析一个字符串,并返回一个整数。

  (六) 将布尔值转换为数字

全局方法 Number() 可将布尔值转换为数字。

eg:
          Number(false)     // 返回 0
          Number(true)      // 返回 1

  (七) 一元运算符 + (Operator + 可用于将变量转换为数字)
         eg :
               var y = "5";
               var x = + y;
               document.getElementById("demo").innerHTML =
               typeof y + "<br>" + typeof x;

如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):

eg:
            var y = "John";
          var x = + y;
              document.getElementById("demo").innerHTML =
                  typeof x + "<br>" + x;

(八) 将日期转换为数字

 1 全局方法 Number() 可将日期转换为数字。

eg:
           d = new Date();
           Number(d)          // 返回 1404568027739

2 日期方法 getTime() 也有相同的效果。

eg:
          d = new Date();
          d.getTime()        // 返回 1404568027739

var d = new Date();
          document.write(d.getTime());
  

十一 运算符

 1 算术运算符

   加   减  乘  除  累加  累减  求模(求余数)
   +   -  *  /     ++    --     %

 2 赋值运算符

=    +=   -=   *=     /=     %=

+=
    (  var x=10;
       var y=5;
       x+=y;  // x = x + y
       var demoP=document.getElementById("demo")
       demoP.innerHTML="x=" + x;  )

 3 比较运算符
      <      >     >=      <=     != (不等于)

4 逻辑运算符

逻辑与 &&

     当结果都为真的时候,返回true;
        只要有一个条件不为真,返回false

逻辑或 ||

条件只要有一个为真,返回true.

逻辑非 !

操作数为对象,空字符串,非零字符,返回false,
        数值0,null  undefined 返回true.

三个结果一定是布尔类型(boolean).  true / false

5 三目运算符

格式 : 表达式?语句1:语句2;

5>3?alert("5大于3"):alert("5小于3");

十二  流程控制语句

1  顺序结构

一  if 条件语句
         if(条件语句){
             执行语句;
         }

二  if(条件语句){
           执行语句一
       }else{
           执行语句二
       }

三  if(条件语句){
             if(条件语句一){
               执行语句一
            }else{
               执行语句二
           }else{
              if(条件语句二){
                执行语句三
            }else{
                执行语句四
              }
           }

2  选择结构
         switch 语句

switch(表达式){
            case 值1:
              语句1;
              break;
            case值2:
              语句2;
              break;
            case值n:
               语句n;
              break;

default:
                语句;
                break;
         }

3  循环结构

while  循环语句

while(条件表达式){
            循环语句块;
        }

do - while语句

do{
             循环语句块
         } while(条件表达式语句);

   for(初始化表达式;循环表达式;循环后操作表达式){
               循环语句块;
        }

4  跳转结构

break   用于跳出整个switch 语句体或者是跳出整个循环体.

continue
                同于终止整个循环中的指定某次循环.

  十三 DOM(文档对象模型)

   1 作用 : 可访问javascript HTML文档的所有元素.

   2 功能: (1) 改变html输出流

           eg: <script>
                        document.write(Date());
                      </script>

     (2) 改变HTML内容

eg: <p id="p1">Hello World!</p>
            <script>
            document.getElementById("p1").innerHTML="新文本!";
            </script>
            <p>以上段落通过脚本修改文本。</p>

     (3) 改变HTML属性

eg:
      <img id="image" src="smiley.gif" width="160" height="120">
      <script>
          document.getElementById("image").src="landscape.jpg";
      </script>

(4) 改变css样式

<p id="p1">Hello World!</p>
      <p id="p2">Hello World!</p>
      <script>
      document.getElementById("p2").style.color="blue";
      document.getElementById("p2").style.fontFamily="Arial";
      document.getElementById("p2").style.fontSize="larger";
      </script>
      <p>以上段落通过脚本修改。</p>

 (5)使用的事件

   1 元素被点击

  eg:
          <h1 id="id1">我的标题 1</h1>
          <button type="button"
          onclick="document.getElementById(‘id1‘).style.color=‘red‘">
          点我!</button>

2 如需向HTML元素分配事件,可以使用事件属性

 eg:
       <p>点击按钮执行 <em>displayDate()</em> 函数.</p>
       <button onclick="displayDate()">点这里</button>
       <script>
       function displayDate(){
            document.getElementById("demo").innerHTML=Date();
       }
       </script>
       <p id="demo"></p>

3 onload 和 onunload 事件

  用于在进入或离开页面时被触发,
       onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
     onload 和 onunload 事件可用于处理 cookie。
      

   

 
-->

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style>
        #a1{
          color: red;
        }
    </style>
  </head>
  <body>
    <!-- <span id="a1">辉恢</span> -->
    <!-- <span id="a1">admin</span> -->
    <script>
        // alert(‘辉辉‘)
        // document.write(‘回回‘)
        // document.getElementById("a1").innerHTML = Date();
        //
          // var a = 10;
          // var b = 5;
          // var c = a+b;
          // alert(typeof b);
        //
        // console.log(c);

// function trim(){

//  alert(arguments.length);
          // 长度不能从0开始

// alert(arguments[0]);
          // alert(arguments[1]);
          // alert(arguments[2]);
          // alert(arguments[3]);
          // alert(arguments[4]);
          // alert(arguments[5]);
          // alert(arguments[6]);
        // 获取数据位置从0开始.

//   if(5<3){
       //            alert(‘true‘);
       //        }else {
      //             alert(‘false‘);
      //        }

//     var a = new Number(1);

//      alert(typeof a);

//   }
    //   trim();

 function fn_a(a,b){

var result = a%b;
               alert(result);
          }
          // fn_a(10,20);

function fn_b(a){
            var result = a++; // 首先带入自身值,执行运算后,在自身加1;
            var adm = ++a;  //  首先自身值加1,在带入运算,
            alert(result); //1
            // alert(a); //2
            alert(adm) 
          }
          // fn_b(1);

function fn_c(){

var x = 9;
             var y = 4;
             var z = 6;
            //  alert((x++ * --z - y--)/(--y*(z++ + z-- - --y + x++ + z-- + ++x ))*(x++ + y-- + z++));
            alert((++y * --z - y--)/(y*(z++ + y-- + --y + x++ + z-- + --x ))*(z++ + x-- + y++))
            alert((x*(x++ + --y + y-- - z++ + z--)/(z++ - y-- - --z + ++x - ++y))-(x++ - y-- - z--))
            //  alert(x*(x++ + --y + y-- - z++ + z--));
            //        1*(1 + 2 + 2 - 5 + 6)
            // alert(--x*(--y - x++ + y++ + ++z - --z - y++)+ y++)
            // (x++ * --z - y--)/(--y*(z++ + z-- - --y + x++ + z-- + ++x ))*(x++ + y-- + z++)
               //6*(2 - 6 + 2 + 6 - 5 - 3 ) + 4
               //

}

fn_c();
       // 给两个数,完成数值的交换
          function fn_d(){

var a = 1;
                var b = 20;

// var c;
                // c = a;
                // a = b;
                // b = c;

a = a+b;
                b = a-b;
                a = a-b;
               alert("a="+a+"---b="+b);
            }
            // fn_d();

function fn_e(a,b){

if(a!=b){
                      alert("辉恢")
                   }else {
                     alert("晨晨");
                   }

}
            // fn_e(30,30);

function fn_f(){

var result = true||false;
               result = !((1>2)||(3<5));
               alert(result);

}
            // fn_f();

// 5<3?alert("11111"):alert("22222");

// 九九乘法表

function fn_g(){

for(var i=1;i<10;i++){
                  for(var j=1;j<=i;j++){
                      document.write(j+"x"+i+"="+(j*i>=10?(i*j):"0"+(i*j))+" ");
                  }
                  document.write("<br>");
              }

}

// fn_g();

function fn_h(a,b){
                 if(a>b){
                   alert("111");
                 }else {
                   alert("2222");
                 }
            }
            // fn_h(10,20);

// 给三个数,比大小

function fn_i(a,b,c){
                if(a>b){
                  if(a>c){
                    alert("最大值:"+a);
                  }else{
                    alert("最大值:"+c);
                  }
                }else{
                  if(b>c){
                    alert("最大值:"+b);
                  }else{
                    alert("最大值:"+c);
                  }
                }
                var maxValue = a>b?(a>c?a:c):(b>c?b:c);
                alert(maxValue);
            }
            // fn_i(7,2,3);

function fn_j(){
              var x = ‘a‘;
              switch(x){
                 case ‘a‘ :
                  alert("1");
                  break;  //  跳出本次循环.
                  case 2:
                  alert("2");
                  break;  //  跳出本次循环.
                  case 3:
                  alert("3");
                  break;  //  跳出本次循环.

default:
                   alert("条件不匹配");
                   break;
              }
            }
            // fn_j();

function fn_k(){

var x = 1;

while(x<=10){
                    alert("x="+x);
                    //存在改变变量的语句,否则就是一个死循环.
                    x++;
                  }

//特点 : 首先判断条件,然后在确定是否执行循环体.
            }
              // fn_k();

function fn_l(){
             var x =1;
              do{
                 alert("x="+x);
                 x++;
              }while(x<=10);

//特点 :  首先执行一次循环,在判断条件,然后在确定是否执行.
           }

//  fn_l();

function fn_m(){
             document.write("Starting Loop" + "<br>");
             var count;
             for(count=0;count<100; count++){
               document.write("排名第:"+count);
               document.write("<br>");
             }
          }
          // fn_m();

function fn_n(){
         //   =  赋值号    == 全等     ===  恒等 (数字和数据类型一样)
              var x = "";
              var i = 0;
              for(i=0;i<=10;i++){
                  if(i==3){
                    // continue;
                    break;
                  }

x = x+"该数字为 "+i+"<br>";
              }
              document.getElementById("a1").innerHTML=x;
          }

// fn_n();

</script>
    <!-- <button onclick="trim()">调用</button> -->
    <!-- <p id="a1"></p> -->
    <!-- <button onclick="fn_n()">调用</button> -->
    <script>
        function nm(){
         //拿值
        var num1 = parseInt(document.getElementById(‘num1‘).value);
        var num2 = parseInt(document.getElementById(‘num2‘).value);
        var num3 = parseInt(document.getElementById(‘num3‘).value);

// 比大小
        if(num1<num2){
           var temp = num1;
           num1 = num2;
           num2 = temp;
        }
        if(num1<num3){
           var temp = num1;
           num1 = num3;
           num3 = temp;
        }
        if(num2<num3){
          var temp = num2;
          num2 = num3;
          num3 = temp;
        }

var txt = num1 + "&nbsp;&nbsp;&nbsp;"+ num2 +  "&nbsp;&nbsp;&nbsp;"+ num3;
        document.getElementById("p1").innerHTML = txt;

// parseInt()  解析一个字符串,并返回一个整数.
        }

// 三目运算符
        //
        // 表达式? 语句1:语句2;

</script>

<!-- <input type="text" id="num1">
    <input type="text" id="num2">
    <input type="text" id="num3">
    <button onclick="nm()">比大小</button>
    <p id="p1"></p> -->

<script>
          function fun_p(){
              var x = document.getElementById("email").value;
              var a = x.indexOf("@");
              var d = x.lastIndexOf(".");

if(a>1 && d>a+2 && d+2<=x.length){
                       alert("地址有效");
                       // return false;
                 }else {
                       alert("格式不正确");
                }
           }

</script>

<!--<form name="myForm" onsubmit="return fun_c();"> -->
        <!-- <input type="text" id="email"> -->
        <!-- <input type="submit" value="提交"> -->
        <!-- <button onclick="fun_p()">提交</button> -->
</body>

</html>

时间: 2024-10-10 06:21:00

JavaScript(一) - 精简的相关文章

JavaScript(三) - 精简

javascript 对象 1 什么是对象? 对象只是一种特殊的数据,对象拥有属性和方法. 2 对象有哪些? js中所有的事物都是对象:字符串,数值,数组,函数. js允许自定义对象.提供多个内建对象. 比如:String , Date, Array等. 布尔型,数字型,字符串,日期,数学和正则表达式,数组,函数 3 怎么访问对象的属性.     属性是与对象相关的值, 访问对象属性的语法是:objectName.propertyName (对象名.属性名). eg:        使用Stri

JavaScript(二)-精简

十三 DOM(文档对象模型) 1 作用 : 可访问javascript HTML文档的所有元素. 2 功能: (1) 改变html输出流 eg: <script>                        document.write(Date());                      </script>    (2) 改变HTML内容 eg: <p id="p1">Hello World!</p>            &l

JavaScript知识精简

数据类型 JavaScript 是 弱类型 语言,但并不是没有类型,JavaScript可以识别下面 7 种不同类型的值: 基本数据类型 Boolean Number String null undefined Symbol Object Array RegExp Date Math ... 可以使用 typeof 判断数据类型,操作符返回一个字符串,但并非返回的所有结果都符合预期 typeof false // "boolean" typeof .2 // "number&

[转载]网站前端性能优化之javascript和css——网站性能优化

之前看过Yahoo团队写的一篇关于网站性能优化的文章,文章是2010年左右写的,虽然有点老,但是很多方面还是很有借鉴意义的.关于css的性能优化,他提到了如下几点: CSS性能优化 1.把样式表置于顶部 现把样式表放到文档的< head />内部似乎会加快页面的下载速度.这是因为把样式表放到< head />内会使页面有步骤的加载显示. 注重性能的前端服务器往往希望页面有秩序地加载.同时,我们也希望浏览器把已经接收到内容尽可能显示出来.这对于拥有较多内容的页面和网速较慢的用户来说特

转 Web程序优化的最佳实践:JavaScript和CSS篇

Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了 一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.最佳实践的核心就是旨在提高网站性能. Excetional Performance 团队总结出了一系列可以提高网站速度的方法.可以分为 7 大类 34 条.包括内容.服务器.cookie.CSS.JavaScript.图片.移动应用等七部分. 本文为CSS和Javascript部分: 除此之外,JavaScript

【转】网站前端性能优化之javascript和css

之前看过Yahoo团队写的一篇关于网站性能优化的文章,文章是2010年左右写的,虽然有点老,但是很多方面还是很有借鉴意义的.关于css的性能优化,他提到了如下几点: CSS性能优化 1.把样式表置于顶部 现把样式表放到文档的< head />内部似乎会加快页面的下载速度.这是因为把样式表放到< head />内会使页面有步骤的加载显示. 注重性能的前端服务器往往希望页面有秩序地加载.同时,我们也希望浏览器把已经接收到内容尽可能显示出来.这对于拥有较多内容的页面和网速较慢的用 户来说

雅虎34条军规

官方原地址:http://developer.yahoo.com/performance/rules.htmlmooc:视频教程另附 SAE CDN:http://lib.sinaapp.com/ 雅虎团队经验:网站页面性能优化的34条黄金守则 1.尽量减少HTTP请求次数      终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数.这是提高网页速度的关键步骤.      减少页面组件的方法

web前端之性能优化

作为一个前端工作人员,而且只会写点HTML5和CSS3的“假”前端工程师,为了能更好地理解一下前端的花花世界,最近拜读了<高性能网站建设指南>一书,对作者提出的前端性能优化的14个规则获益匪浅,为了让自己印象更深刻点,决定作此文,当做学习笔记也好,知识总结也罢,总归看过的东西要让自己很好地掌握很好地运用起来才是王道.在解读这些规则的同时,我会用我一年半多的移动网站开发经历提出一些针对移动网站的优化建议. 首先我们从三个大类讲起:一,网络服务器.二,浏览器,三代码上面,针对这三个大类总结出了下面

雅虎团队经验:网站页面性能优化的34条黄金守则

1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数.这是提高网页速度的关键步骤. 减少页面组件的方法其实就是简化页面设计.那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术. 合并文件是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个