一.js的数据类型和变量

JavaScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。

   String 字符串类型:字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串。)如:“The cow jumped over the moon.”

   数值数据类型:JavaScript 支持整数和浮点数。整数可以为正数、0 或者负数;浮点数可以包含小数点、也可以包含一个 “e”(大小写均可,在科学记数法中表示“10的幂”)、或者同时包含这两项。

  Boolean 类型:可能的 Boolean 值有 true 和 false。这是两个特殊值,不能用作 1 和 0。

  Undefined 数据类型:一个为 undefined 的值就是指在变量被创建后,但未给该变量赋值以前所具有的值。

  Null 数据类型:null 值就是没有任何值,什么也不表示。

  object类型:除了上面提到的各种常用类型外,对象也是JavaScript中的重要组成部分,这部分将在后面章节详细介绍。

  在 JavaScript 中变量用来存放脚本中的值,这样在需要用这个值的地方就可以用变量来代表,一个变量可以是一个数字,文本或其它一些东西。

   JavaScript是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,变量声明尽管不是必须的,但在使用变量之前先进行声明是一种好的习惯。可以使用 var 语句来进行变量声明。如:var men = true; // men 中存储的值为 Boolean 类型。

  变量命名:JavaScript 是一种区分大小写的语言,因此将一个变量命名为 computer 和将其命名为 Computer是不一样的。 
  另外,变量名称的长度是任意的,但必须遵循以下规则: 
   1.第一个字符必须是一个字母(大小写均可)、或一个下划线(_)或一个美元符 ($)。 
   2.后续的字符可以是字母、数字、下划线或美元符。 
   3.变量名称不能是保留字。

/* 何问起 hovertree.com */

二.js语句及语法

JavaScript所提供的语句分为以下几大类: 
   1.变量声明,赋值语句:var。 
   语法如下: var 变量名称 [=初始值] 
   例:var computer = 32 //定义computer是一个变量,且有初值为32。

   2.函数定义语句:function,return。 
   语法如下: function 函数名称 (函数所带的参数) 
        { 
          函数执行部分 
         }

         return 表达式 //return语句指明将返回的值。 
   例:function square ( x ) 
     { 
       return x*x 
      }

   3.条件和分支语句:if...else,switch。 
     if...else语句完成了程序流程块中分支功能:如果其中的条件成立,则程序执行紧接着条件的语句或语句块;否则程序执行else中的语句或语句块。     语法如下: if (条件) 
         { 
            执行语句1 
          }else{ 
            执行语句2 
          } 
     例:if (result == true) 
        { 
          response = “你答对了!” 
         }else{ 
          response = “你错了!” 
         }

   分支语句switch可以根据一个变量的不同取值采取不同的处理方法。 
   语法如下: switch (expression) 
        { 
         case label1: 语句串1; 
         case label2: 语句串2; 
         case label3: 语句串3; 
            ... 
         default: 语句串3; 
        } 
   如果表达式取的值同程序中提供的任何一条语句都不匹配,将执行default 中的语句。

   4. 循环语句:for, for...in,while,break,continue。 
     for语句的语法如下: for (初始化部分;条件部分;更新部分) 
               { 
                 执行部分... 
                } 
     只要循环的条件成立,循环体就被反复的执行。 
     for...in语句与for语句有一点不同,它循环的范围是一个对象所有的属性或是一个数组的所有元素。

     for...in语句的语法如下: for (变量 in 对象或数组) 
                 { 
                   语句... 
                  }

     while语句所控制的循环不断的测试条件,如果条件始终成立,则一直循环,直到条件不再成立。 
     语法如下: while (条件) 
           { 
             执行语句... 
            }

     break语句结束当前的各种循环,并执行循环的下一条语句。

     continue语句结束当前的循环,并马上开始下一个循环。

   5.对象操作语句:with,this,new。 
    with语句的语法如下: 
             with (对象名称){ 
                      执行语句 
                     } 
    作用是这样的:如果你想使用某个对象的许多属性或方法时,只要在with语句的()中写出这个对象的名称,然后在下面的执行语句中直接写这个对象的属性名或方法名就可以了。

    new语句是一种对象构造器,可以用new语句来定义一个新对象。 
     语法是这样的:新对象名称= new 真正的对象名 
     譬如说,我们可以这样定义一个新的日期对象: var curr= new Date(),然后,变量curr就具有了Date对象的属性。

    this运算符总是指向当前的对象。

   6.注释语句://,/*...*/。 
    //这是单行注释 
    /*这可以多行注释.... */

三.js对象的属性及方法.

在JavaScript中是基于对象的编程,而不是完全的面向对象的编程。 
    
   那麽什麽是对象呢?如果你学过一些VB的编程,对这个名词一定不会陌生。通俗的说,对象是变量的集合体,对象提供对于数据的一致的组织手段,描述了一类事物的共同属性。

   在JavaScript中,可以使用以下几种对象: 
    1.由浏览器根据web页面的内容自动提供的对象。 
    2.JavaScript的内置对象,如Date,Math等。 
    3.服务器上的固有对象。 
    4.用户自定义的对象。

   JavaScript中的对象是由属性和方法两个基本的元素的构成的。对象的属性是指对象的背景色,长度,名称等。对象的方法是指对属性所进行的操作,就是一个对象自己所属的函数,如对对象取整,使对象获得焦点,使对象获得个随机数等等一系列操作。

   举个例子来说,将汽车看成是一个对象,汽车的颜色,大小,品牌等叫做属性,而发动,刹车,拐弯等就叫做方法。

   可以采用这样的方法来访问对象的属性:对象名称.属性名称,例:mycomputer.year=1996,mycomputer.owner = “me”。

   可以采用这样的方法,将对象的方法同函数联系起来:对象.方法名字=函数名字或对象.属性.方法名,例:this.display=display,document.writeln(“this is method”)。

   多看或多写一些程序,就会理解对象的方法和属性的含义了!

四.js事件的处理

事件是浏览器响应用户交互操作的一种机制,JavaScript的事件处理机制可以改变浏览器响应用户操作的方式,这样就开发出具有交互性,并易于使用的网页。

  浏览器为了响应某个事件而进行的处理过程,叫做事件处理。

  事件定义了用户与页面交互时产生的各种操作,例如单击超级连接或按钮时,就产生一个单击(click)操作事件。浏览器在程序运行的大部分时间都等待交互事件的发生,并在事件发生时,自动调用事件处理函数,完成事件处理过程。

  事件不仅可以在用户交互过程中产生,而且浏览器自己的一些动作也可以产生事件,例:当载入一个页面时,就会发生load事件,卸载一个页面时,就会发生unload事件等。

  归纳起来,必需使用的事件有三大类: 
   1.引起页面之间跳转的事件,主要是超连接事件。 
   2.事件浏览器自己引起的事件。 
   3.事件在表单内部同界面对象的交互。

另:

Javascript 基础 
一、 变量 
var   myBook; 
   myBook=5; 
   变量名要求以字母或 _ 打头,不能含有空格 
常见的类型有:字符串,数值,布尔和对象类型。 
var   num=6 
b=(3>5) 
false   true 
二、 表达式与操作符 
1、 比较操作符 
   ==   !=   >   <   >=   <= 
2、 运算操作符 
   +   -   *   /   %   ++   --

3、 逻辑操作符 
与&& , 或 ||   , 非 !   
4、 位操作符 
&   |   ^(异或)   ~   <<   >>   >>>(填0右移操作符) 
5、 赋值操作符 

+=   -=   *=   /= 
&=   |=   ^= 
<<=   >>=   >>>=

6、 其它操作符 
条件操作符:(条件)?值1:值2     a=5   b=6   c=(a>b)?a-b:a+b 
new操作符   var   
com=new   Array("Zhang","Li","wang","Chen") 
com[2] 
delete 操作符 delete com[2] 
7、 
三、 语句 
1、 条件语句 
(1) if……else 
   if   (mark>60) 
       s="pass" 
   else   
       s="fail" 
(2)tch   case   标签1:代码块1;break; 
   case   标签2:代码块2;break; 
   ………… 
   case   标签n:代码块n;break; 
   default: 缺省代码块; 

(3) 
2、 循环语句 
(1) for 语句 
   for(初始表达式;循环条件;递增表达式) 
   {   代码块     }   
(2) while 语句 
   while(循环条件) 
   {代码块} 
(3) do……while语句 
       do{ 
       代码块 
         } while(循环条件)

(4) label语句 
label:代码块 
(5) break语句 
           跳出循环语句或tch 
           break   label     跳出label标识的代码块

(6) 
3、 其他语句 
(1) for……in语句     [forin.htm] 
       for (变量   in 对象) { 
             代码块   } 
(2) with(对象){ 
         代码块   } 
(3) 注释 
       // 注释一行     /*     */

(4) return 
4、 
四、 函数 
1、 函数的定义 
function   函数名(参数列表) 
{     代码块 
   }


--   作者:何问起 
--   发布时间:2015-12-3 1:31:00

--

2、 函数的调用 
     函数名(参数列表) 
3、 javascript 的全局函数 
(1) eval(字符串) 
执行该字符串 
(2)   parseInt(字符串,[基数])   parseFloat(字符串) 
var s="3.14" 
var j=parseInt(s) 
var k=parseFloat(s) 
         parseInt("2B",16)= 
(3) isNaN(表达式) :不是数字 
(4) Number(对象)和 String(对象) 
Var n=new Number(20) 
document.write(n.toString(16)) 
(5) Escape(字符串)和unescape(字符串)将消息串格式转换为ASC码格式 
4、 方法 
(1) 滚动窗口scroll() 
   scroll(x,y):移至窗口某一点,左上角为0,0     [winscroll.htm] 
(2) 设置延迟setTimeout("表达式",时间) 时间:以毫秒为单位 
(3) 清除延迟clearTimeout("延迟号") 
如:id=setTimeout("disp()",1000)   
     clearTimeout(id) 
(4)

五、 Javascript 中的对象 
1、 建立自定义对象 
方法1:对象={属性1:属性值1,属性2:属性值2……属性n:属性值n} 
   方法2:先定义构造函数,再new创建对象实例。 
     如: function car(thecolor,thenumber,thewheels) 
           { this.color=thecolor; 
             this.number=thenumber; 
             this.wheels=thewheels;   }

var   mycar=new car("RED","13245",4); 
2、 定义对象的方法     [oop.htm] 
     function ReportInfo( ) 
   { var information=new string; 
     information="color:"+this.color+"<BR>"; 
     information+="Number:"+this.Number+"<BR>"; 
     information+="Wheels"+this.wheels; 
     window.document.write(information); 
   }

3、 javascript核心语言对象 
(1) 数组对象(Array) 
   建立数组:var st=new Array("zhang","wang","li","chen"); 
             var st1=new Array(4) 
   访问数组元素: st[2] 
   数组对象的属性 length (长度)     [forin.htm] 
             方法 sort( )   按ASCII码排序   sort([比较函数名])   [sort.htm] 
                       比较函数返回值(a与b比较)   <0   b排在a 的前面 
                                                 =0   保持原来次序 
                                                 >0   a排在b的前面 
                   reverse( )   元素颠倒顺序 
                   join(分隔符) 转换成字符串 
             
(2) 字符串对象(String) 
       属性: length 
       方法:toUpperCase()   转换为大写字母 
             toLowerCase()   转换为小写字母 
             indexOf(字符串,起始位置)   返回子字符串在字符串中的位置,若没有,则为-1 
             LastIndexOf(字符串,起始位置) 返回子字符串在字符串中最后的位置 
             charAt(位置)   返回字符串中下标位置的字母 
             substring(位置1,位置2)返回位置1,位置2间字符串 
             split(分界符) 按分界符的分解成数组元素 
             以下的为格式化字符串方法 [str.htm] 
             big()   blink()   bold()   fixed()   fontcolor()   fontsize()   italics() small() 
             strike()   sub()   sup()


--   作者:何问起 
--   发布时间:2015-12-3 1:31:00

--

(3) 日期对象(Date) 
创建日期对象 
   var   对象名称=new Date (参数) 
   var   theDate=new   Date( ) 
   var   theDate=new   Date( 1999,1,1) 
       方法:getYear( )   
             getMonth() 
             getDate( ) 
             getHours( ) 
             getMinutes( ) 
             getSeconds( ) 
             setYear (年份) 
             setMonth(月份) 
             setDate(日期) 
             setHours(小时数) 
             setMinutes(分钟数) 
             setSeconds(秒数) 
             getTime(毫秒数) 获得1970年1月1日0时0分0秒开始的豪秒 
             setTime(毫秒数) 
(4) 数学对象(Math) 
           属性: PI 圆周率   3.14159265 
                   SQRT2   2的平方根   1.414 
                   LN2   2的自然对数   0.693147 
                   E 2.718281828459     
                   LN10   10的自然对数 2.302585 
                   LOG2E 以2为底E的对数   1.442695 
                   LOG10E 以10为底E的对数 0.4342944819 
                   SQRT1-2   0.5的平方根   0.7071 
           方法:min(值1,值2) 
               max(值1,值2) 
               round(数值)     四舍五入 
               ceil (数值)     返回>=参数的最小整数 负值取0(向上取整) 
               floor (数值)     截尾取整(向下取整) 
               random()       0-1的随机数 
               sqrt(数值)     返回数值的平方根 
               abs(数值)       取绝对值 
acos (数值)     arccos 反余弦 
asin(数值)     反正弦 
atan(数值)     反正切 
cos(数值)     余弦 
sin(数值)     正弦 
tan(数值)     正切 
atan(x,y)     计算极角, 夹在X正半轴与x,y间的角 
pow(x,y)     X的Y次幂 
log(x)       x的自然对数 
exp(x)     E的X次方

推荐:http://www.cnblogs.com/roucheng/p/jstoupiao.html

js一篇汇总的更多相关文章

  1. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  2. 2. web前端开发分享-css,js进阶篇

    一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无从下手 ...

  3. web前端开发分享-css,js进阶篇

    一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践 经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无 从 ...

  4. JS创建对象篇

    JS创建对象篇 Object构造函数创建 var person = new Object(); person.name = "Tom"; person.age = 10; pers ...

  5. js学习篇1--数组

    javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...

  6. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

  7. web前端开发分享-css,js入门篇(转)

    转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...

  8. Chrome下的语音控制框架MyVoix.js使用篇(四)

    在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...

  9. 数据可视化的优秀入门书籍有哪些,D3.js 学习资源汇总

    习·D3.js 学习资源汇总 除了D3.js自身以外,许多可视化工具包都是基于D3开发的,所以对D3的学习就显得很重要了,当然如果已经有了Javascript的经验,学起来也会不费力些. Github ...

随机推荐

  1. Canny算子边缘检测(cvCanny)

    Canny是常用的边缘检测方法,其特点是试图将独立边的候选像素拼装成轮廓. John Canny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法. ...

  2. Windows 10 周年版尝鲜

    早在今年的 Build 大会上,微软就开始宣传最新的 Windows 10 周年版更新,炫了不少特技,直到昨天(2016/8/2 PST)才正式放出,相关新闻可以参考这里,正式的版本为 Version ...

  3. 上学时的HTML+JS+CSS(小总结)

    html:超文本标记语言 基本标签: { 文本标签:<pre></pre>:原封不动的保留空白区域.      <br />:换行.      <hr wid ...

  4. Atitit  java jsp 新的tag技术

    Atitit  java jsp 新的tag技术 1.1.  Tag Files  vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...

  5. Java-map-第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。 附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录

    第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...

  6. POJ1014 解题报告(DFS)

    题目在此:http://poj.org/problem?id=1014 要看清题意呢,题中要求输入的是价值分别为1,2,3,4,5,6的大理石的个数,而不是6块价值为输入数字的大理石!选这个题主要想练 ...

  7. js对象私有变量公有变量问题

    0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...

  8. eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

    在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会 ...

  9. 10034 - Freckles 克鲁斯克尔最小生成树!~

    /* 10034 - Freckles 克鲁斯克尔最小生成树!- */ #include<iostream> #include<cstdio> #include<cmat ...

  10. python--基础学习(四)自然字符串、重复字符串、子字符串

    python系列均基于python3.4环境 1.自然字符串和重复字符串 代码示例: str1=r'hello \npython' str2='hello \npython' str3="h ...