关于JavaScript总结

简介:

jsp服务端,js客户端.

javascript 是基于对象和事件驱动的脚本语言.

特点:

  1. 交互性
  2. 安全性(不允许直接访问本地硬盘)
  3. 跨平台性(只要是可以解析java的浏览器都可以执行,和平台无关)

 

各大浏览器都有解析该语言的解析引擎。

 

js是基于对象的,java是面向对象。

js只需解释就可以执行。java需要编译成字节码文件再执行。

 

js是弱类型,java是强类型。

 

 

jscript是微软的和javascript很相似。javascript没有帮助文档。

微软的帮助文档是很强的。

 

 

javascript 和html语言的结合。

Jquery是JavaScript封装的一个类库。

 

 

html中可以有多个表单form,这些表单用标签<forms></forms>括起来,每个表单叫<form></form>,用一个form[]数组存储,form[0]代表第一个表单,form[1]代表第二个表单。

 

window对象常用方法:(window.alert(),window可以省略)

alert(‘信息’) 消息框

prompt(‘提示信息’,默认值)标准输入框

confirm()确认框

open()打开 一个新窗口

close()关闭窗口

 

         /*

                             * 通常高级程序设计语言所包含的语法内容:

                             * 1,关键字:该种语言中被赋予了特殊含义的单词。

                             * 2,标示符:用于标示数据和表达式的符号。通常可以理解为在程序中自定义的名称。比如变量名,函数名。

                             * 3,注释:注解说明解释程序。用于调试程序。

                             * 4,变量:用于标示内存中一片空间。用于存储数据,该空间的中的数据是可以变化的。

                             *什么时候使用变量,当数据不确定的时候。

                             * 5,运算符:可以让数据进行运算的符号。

                             * 6,语句:用于对程序的运行流程进行控制的表达式。

                             * 7,函数:用于对功能代码进行封装,便于提高复用性。

                             * 8,数组:对多数据进行存储,便于操作。就是传说中容器。

                             * 9,对象:只要是基于对象的语言,或者是面向对象的语言,就存在着对象的概念,对象就是一个封装体。既可以封装数据又可以封装函数。

                             * 这些都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式有所不同。

                             * 但是使用基本思想是一致。

                             */

 

 

在javascript中单引号和双引号都是表示字符串,单引号和双引号之间可以相互嵌套。

 

var x= 3 var y =4;编译错误

var x= 3

var y =4;分两行写就编译正确。

 

别挑战javascript的极限。人家是弱类型语言,也不要欺负人家。

 

 

<!--

                   js和html相结合的方式:

                   1,将javascript代码封装到<script>标签中。

                   2,将javascript代码封装到js文件中,并通过<script>中的src属性进行导入。

                  

                   注意:如果<script>标签中使用src属性,那么该标签中封装的javascript代码不会被执行。

                   所以通常导入js文件都是用单独<script>来完成。

                   -->

<!--导入一个js文件-->

                   <!--script type="text/javascript" src="demo.js"></script-->

这个<script></script>标签中已经导入了demo.js文件了,(js中提供的是函数库,不是类库,就和java中jar包一样的。)再在<script>中写javascript程序,这些程序是不会被执行的。所以导入js文件都是单独<script>来完成的。

 

                   <!--封装javascript代码。-->

                   <script type="text/javascript">

//                         alert("hello javascript");

                  </script>

 

<!--演示javascript语法通用内容-->

复制代码
 1 <script type="text/javascript">
 2 
 3                             /*
 4 
 5                              * 通常高级程序设计语言所包含的语法内容:
 6 
 7                              * 1,关键字:该种语言中被赋予了特殊含义的单词。
 8 
 9                              * 2,标示符:用于标示数据和表达式的符号。通常可以理解为在程序中自定义的名称。比如变量名,函数名。
10 
11                              * 3,注释:注解说明解释程序。用于调试程序。
12 
13                              * 4,变量:用于标示内存中一片空间。用于存储数据,该空间的中的数据是可以变化的。
14 
15                              *   什么时候使用变量,当数据不确定的时候。
16 
17                              * 5,运算符:可以让数据进行运算的符号。
18 
19                              * 6,语句:用于对程序的运行流程进行控制的表达式。
20 
21                              * 7,函数:用于对功能代码进行封装,便于提高复用性。
22 
23                              * 8,数组:对多数据进行存储,便于操作。就是传说中容器。
24 
25                              * 9,对象:只要是基于对象的语言,或者是面向对象的语言,就存在着对象的概念,
26 
27                              * 对象就是一个封装体。既可以封装数据有可以封装函数。
28 
29                              *
30 
31                              * 这些都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式有所不同。
32 
33                              * 但是使用基本思想是一致。
34 
35                              */
36 
37 </script>
复制代码

 

 

复制代码
        <script type="text/javascript">
            /*
             * js中定义变量。使用到关键字。
             * 这个关键字就是var  
             */
            //定义变量。Js是弱类型的。
            var x = 4;//var不写也行,因为js是非严谨的语言,但是我们开发的时候建议都按照严谨的方式来定义。
            x = "abc";//重新赋值为字符串abc。
            x = 3.45;//赋值为小数。其实也是数字类型。
            x = true;//赋值为boolean类型。
            x = 'c';//赋值为字符串c。
            
//            alert("x="+x);//这是一个函数,将具体的参数通过对话框进行显示。
            
        </script>
复制代码

 

 

复制代码
        <script type="text/javascript">
            /*
             * 运算符。
             * 1,算术运算符。
             *         + - * / % ++ --
             * 2,赋值运算符。
             *         =  += -= *=  /= %= 
             * 3,比较运算符:运算的结果要么是false要么是true。
             *         > < >= <= != ==
             *         
             * 4,逻辑运算符。用来连接两个boolean型的表达式。
             *         !  &&  ||
             * 5,位运算符。
             *         &  |  ^  >> << >>>   js中单与和单或是位运算符,不是逻辑运算符
             * 6,三元运算符。
             *         ? :
             */
            
            //1,算术运算符演示。
            var a = 3710;
//            alert("a="+a/1000*1000);//a=3710;    js是弱类型语言,注意这里和java的区别
            
            var a1 = 2.3,b1 = 4.7;
//            alert("a1+b1="+(a1+b1));

//            alert("12"-1);//11
//            alert("12"+1);//121
//            alert(true+1);//2 因为在js中false就是0,或者null,非0,非null。就是true。默认用1表示。
//            alert(2%5);//2
            
            var n = 3,m;
            m = ++n;
//            alert("n="+n+",m="+m);
//        =================================================
            
            // 2,赋值运算符
            var i = 3;
//            i = i+2;
            i+=2;
//            alert("i="+i);
       在js中i = i+2;和i+=2; 就没有任何区别了,在java中由于有类型的原因是有区别的。
//        =================================================
            // 3,比较运算符。
            var z = 3;
//            alert(z!=4);
    
//        =================================================
            // 4,逻辑运算符。
            var t = 4;
            
//            alert(t>7 && t<6);
//            alert(!true);
alert(!t);        //false     js和java中的逻辑运算符是有区别的。js中“&”是位运算。
//        =================================================
            // 5,位运算符。
            var c  = 6;
//            alert(c&3);//2    异或:两边相同则为假,两边不同为真。

//            alert(5^3^3);//5  一个数异或同一个数两次,结果还是这个数。

//            alert(c>>>1);//6/2(1);  6除以2的一次方
//            alert(c<<2);//24    6乘以2的2次方。
//        =================================================
            //6,三元运算符。    
            
//            3>0?alert("yes"):alert("no");
//            alert(3>10?100:200);
    </script>
复制代码

 

 

if else和三元运算符的区别,if else可以没有结果,三元运算符必须有结果。

复制代码
    <script type="text/javascript">
            /*
             * 一些细节:
             * 1,undefined:未定义。其实它就是一个常量。
             */
            var xx;
//            alert(xx);//undefined
//            alert(xx==undefined);//true
            
            //要想获取具体的值的类型。可以通过typeof来完成。
//            alert(typeof("abc")=='string');//string
//            alert(typeof(2.5)=='number');//number//判断类型。
//            alert(typeof(true));//boolean
//            alert(typeof(78));//number
//            alert(typeof('9'));//string
        </script>
复制代码

 

 

复制代码
 1         <script type="text/javascript">
 2             /*
 3              * 语句:
 4              * 1,顺序结构。
 5              *     
 6              * 2,判断结构。
 7              *         代表语句: if.
 8              * 3,选择结构。
 9              *         switch
10              * 4,循环结构。
11              *         while  do while  for
12              * 5,其他语句。
13              *         break:跳出选择,跳出循环。
14              *         continue:用于循环语句,结束本次循环继续下次循环。 
15              */
16             
17 //            alert("abc1");
18 //            alert("abc2");
19         
20         
21 //            ------------------------------------------------
22             /*
23             var x = 3;
24 //            if(x=4){//注意。
25             if(4==x){//建议将常量放左边。以报错来修正代码。赋值常量只能拿放右边,判断放左边右边都可以。
26                 alert("yes");
27             }else{
28                 alert("no");
29             }
30             
31             
32             
33             if(x>1)
34                 alert("a");
35             else if(x>2)
36                 alert("b");
37             else if(x>3)
38                 alert("c");
39             else
40                 alert("d");
41                 这里只输出a,因为只要满足一个就进入,其他的不再判断。
42             */    
43         
44 //            ------------------------------------------------
45             /*
46             //选择结构。
47             var x = "abc";
48             switch(x){
49                 default:    //default总是最后执行的,尽管default是在最前面。
50                     alert("c");
51                     break;//省略。此处default注意省略会出现的现象。
52                 case "kk":
53                     alert("a");
54                     break;
55                 case "abc":
56                     alert("b");
57                     break;
58             }
59             */
60         当我们对结果是一段空间,或者是boolean类型进行运算的时候,用if,当结果是固定的几个值的时候,既可以用if也可以用switch,但是建议用switch,因为switch都加载进了内存,答案都在内存中,进行选择就可以,效率相对较高,不过这些效率可以忽略不计。
61             
62             
63             //循环结构。
64             /*
65             var x = 1;
66             document.write("<font color='blue' >");
67             while(x<10)
68             {
69 //                alert("x="+x);
70                 //将数据直接写到当前页面当中。
71                 document.write("x="+x+"<br/>");
72                 x++;
73             }
74             document.write("</font>");
75             
76             
77             for(var x=0; x<3; x++){
78                 document.write("x="+x);
79             }
80             */
81             
82             /*
83             w:for(var x=0; x<3; x++){
84                 for(var y=0; y<4; y++){
85                     document.write("x==="+x);
86                     continue w;//跳出当前循环。
87                 }
88             }
89             */
90     </script>
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4430377.html,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发 API
JavaScript数组API总结
JavaScript数组API总结
JavaScript数组API总结
|
JavaScript 前端开发
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
182 0
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
|
JavaScript 前端开发
JavaScript总结:let变量(弥补var的缺陷)
JavaScript总结:let变量(弥补var的缺陷)
141 0
JavaScript总结:let变量(弥补var的缺陷)
|
JavaScript 前端开发
JavaScript总结: javascript中使用var定义变量的变量提升问题
JavaScript总结: javascript中使用var定义变量的变量提升问题
128 0
JavaScript总结: javascript中使用var定义变量的变量提升问题
|
存储 前端开发 JavaScript
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
250 0
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
|
JavaScript 前端开发 内存技术
JS入门到进阶知识总结(四)
JS入门到进阶知识总结(四)
JS入门到进阶知识总结(四)
|
JavaScript 前端开发 程序员
|
XML 移动开发 JavaScript
JS入门到进阶知识总结(二)
JS入门到进阶知识总结(二)
JS入门到进阶知识总结(二)
|
存储 JavaScript 前端开发
|
JavaScript
js之call() apply() bind() $proxy()的总结
由以上代码可以总结出: 1. foo.call()与foo.apply()原理是一样的,将foo函数的this指向指定的对象(或者表述为在指定对象的上下文环境中运行foo函数); 2. bind(obj)与$proxy(obj)不同的是他们返回的是一个新的函数,该函数的this执行指定的对象obj。
144 0
js之call() apply() bind() $proxy()的总结