js学习总结

javascript总结文档


执行顺序:  js程序会按照再HTML文件种出现的顺序逐行执行,如果需要在整个HTML中执行,最好放在<head></head>中,函数体的代码在被调用的时候才会被执行

区分大小写

JavaScript中换行有断句的意思

分号可有可无,不过为了规范,都写

注释:单行://     多行:/*。。。*/


使用方法:  
  1.在页面中直接嵌入javascript代码
  2.链接外部JavaScript文件 外部脚本文件不能用<srcipt>包起来,且网页的<script>中不能有其他js代码,此时</script>不能省略
  3.作为特定标签的属性值使用 (1)通过"javascript:"来调用js的函数或方法: <a href="javascript:alert(您单击了这个超链接)">请单击这里</a> 单击链接后会执行alert函数
      (2)与事件结合调用:可以与各种像单击鼠标、按下键盘等结合: <input type="button" value="单击按钮" onclick="alert(您单击了这个按钮)"/>  单击后会触发js的方法或函数
  PS:可以放在<head>或者<hold>中
   

<script>标记的常用属性

language="javascript"  language属性指定在HTML中使用哪种脚本语言及其版本
src="xxx.js"   src属性指定外部脚本文件的路径 
type="text/javascript"  language属性指定在HTML中使用哪种脚本语言及其版本,HTML4开始,推荐用type代替language
<script defer>   作用是当文档加载完后再执行脚本,加快网页加载速度


JavaScript基础

 数据类型为弱类型,数据可以先不做声明,使用或者赋值的时候再确定数据类型。

 数字的范围 支持十进制和十六进制,不是所有JavaScript都支持八进制,所有最好不要用八进制,
 浮点型  采用的是传统的科学计数语法, 例:3.12e11=3.12*10的11次方  1.23E-12=1.23*10的-12次方

 单引号中出现双引号或者双引号中出现单引号,都不需要进行转义;单引号中的单引号和双引号中的双引号都需要进行转义
 
 转义字符:  常用: \b  退格   \v  跳格
    \n  换行   \r  换行
    \t  Tab符号   \\  反斜杠
    \f  换页   \OOO  八进制整数,范围:000-777
    \'  单引号   \xHH  十六进制整数,范围为:00-FF
    \"  双引号   \uhhhh  十六进制编码的Unicode

 在"document.writeln("");"使用转义符时,只有将其放在格式化文本中才会起作用,必须放在<pre></pre>中,例如
  document.writeln("<pre>");
  document.writeln("轻松学习\nJavaScript 语言!");
  document.writenln("</pre>");

 未定义值  未定义类型的变量是undefined,表示变量还没有赋值(如:var a;),或者赋予一个不存在属性值
    NaN,非数字,若计算错误后,产生一个没有意义的数字,返回的数字值就是NaN
 空值   null,表示空值

 常量   const
     常量名:数据类型=值;
 变量   声明  :var a;(值为undefined)
      :var a=1;
      :var a,b,c;
    作用域: 若声明在函数外,在整个程序有效,程序结束,变量才失效,为全局变量;若在函数内,则函数解释,该变量的生存期就结束了,为局部变量
 
 比较运算符  不介绍常用的了  值都是布尔型true false
    ==  等于,值根据表面值进行判断,不涉及数据类型
    ===  绝对等于,根据表面和数据类型同时判断
    !=  同上 
 赋值运算  
    a+=b ——> a=a+b;
    a*=b   同上
 字符运算  
    +  连接两个字符串
    +=  连接两个字符串并且赋值给前面一个
 逻辑运算符  
    &&  逻辑与
    ||  逻辑或
    !  逻辑非  如:!a
 
 位操作运算符  &  与运算符  <<  左移
    |  或运算符  >>  右移
    ^  异或运算符  >>>  填零右移  PS:运算前,先对操作数转换位32位的二进制数,再进行相关运算,结果用十进制数表示
    ~  非运算符

 typeof运算符  如:typeof a   值为:a的数据类型  (把类型信息以字符串返回)

 new运算符  new constructor[(arguments)]        (cons为必填,argument为选填 )
    例:  Object1 = new Object;
      Array1 = new Array();
      Date3 = new Date("August 8 2016")
 
 运算符优先级  查表
 
 数据类型的换行  查表


流程控制   跟c语言一样
 

函数 

 语法:   function 函数名(参数1,参数2.。。){   ...   return(可有可无) }    以function开头,return返回值
 
 调用   简单调用  使用时在直接在body中写 函数名("参数","参数","参数");
    通过超链接调用  <a href="javascript:函数名();">链接名字</a>
    事件响应中  <input type="button" onclick="函数名()">
 
 嵌套函数:  一个函数里面有另一个函数  优点:内部函数可以直接使用外部函数的的参数和全局变量;缺点:程序可读性降低
 
 递归函数:  函数自身调用自身函数,常用于处理阶乘问题,递归容易陷入死循环,得小心

 JS中的内置函数  
    eval()   求字符串中的表达式的值
    isFinite()   判断一个数值是否为无穷大   (若为无穷大则返回true)
    isNaN()    判断一个数值是否为NaN    (若参数为NaN,则返回true,否则为false)
    parseInt()   将字符型转换为整型    (若字符串开头不是数字,则返回NaN)
    parseFloat()   将字符型转换为浮点型     同上 
    encodeURI(url)   将字符串转换为有效的URL    (用于返回一个URI字符串编码后的结果)  
    encodeURIComponent()  将字符串转换为有效的URL组件   
    decodeURI()   对encodeURL()编码的文本进行解码   (将已编码为URI的字符串解码成最初的字符串并返回,是encodeURI的逆向操作)
    decodeURIComponent()  对encodeURLComponent()编码的文本进行解码 
 
 Function()构造函数与函数直接量----->>>不咋明白
 

对象与数组

 对象为动态对象和静态对象,需要用new来使用的动态对象,可以用"对象实例名.成员"来访问   类似java;静态的不需要用new创建对象实例,

 只添加于java不一样的知识点:
  prototype 属性  Array.prototype.max = array_max(外部定义函数);  则之后就可以用Array.max来直接调用array_max函数,即该属性可以给原来的类添加方法
     
  js固有对象不能被赋予不同的原型,用户定义的对象可以被赋给新的原型
  
  constructor属性  是所有具有prototype的对象的成员,该属性保留了对构造特定对象实例的函数的引用(x = new String(或为其他函数)("Hi"); 即有:x.constructor==String 

  toLocaleString()方法  返回一个日期,日期使用当前区域设置并已被转换为字符串
  toString()方法  返回对象的字符串表示

  valueOf()方法  返回对象的原始值
     Array   数组的元素被转换位字符串并用","号一个一个连接起来
     Boolean   布尔值
     Function  函数本身
     Number   数字值
     object   对象本身
     String   字符串值

String对象
  创建   var str = new String("字符串")
  
  属性  
   length  返回字符串的长度
   constructor 对当前对象的函数的引用  返回函数本身的代码
   prototype  给String加功能

  方法   太多了,去看手册把

Date对象 (用于返回各种时间,使用时间,使用时需要实例化)
  创建 同上
  属性 同上
  方法 同上     例如:var newdata = new Date(); document.write(newDate);  返回当前时间  例二:var newdate = new Date(2008,2,2)创建日期


event对象
  代表事件状态,鼠标,键盘,鼠标位置等
  
  在ie中使用:  window.event  例如:window.event.altLeft   代表做alt键    true代表被按下,false代表没有被按下
     window.event.button   
        值 0 鼠标没有任何键被按下
            1     按下左键
         2 按下右键
         3 同时左右键
         4 按下中间键
         5  左键和中间
         6 右键和中间
         7 三键同时按下
              button仅用于onmousedown,onmouseup,onmousemove事件;其他事件都返回0;如onclick事件
     window.event.clientX  获取当前鼠标在浏览器中的X坐标,只是一个读属性,不能改变鼠标位置
     window.event.clientY  同上
      event.X   设置或获取鼠标指针位置相对于css属性中有position属性的上级元素的X轴坐标。如果Css属性中没有position属性的上级元素,默认以body为参考对象
      event.Y   同上

      event.cancelBubble 检测是否被上层元素的事件的控制。如果该属性的值时false,则允许被控制
      event.srcElement 设置或获取触发事件的对象 (通过该属性可以读写属于该元素的属性,并调用它的任何方法)

FileSystemObject对象   实现文件操作功能
   
FileSystemObject  主对象,用来创建、删除、和获得有关信息 ,还可以用来操作驱动器、文件夹和文件的方法和属性
Drive   对象,用来收集驱动器信息的方法和属性
Drives   集合,提供驱动器的列表,这些驱动器实物地或在逻辑上于系统相连接。
File   对象,用来创建、删除、移动文件的方法和属性。也可以用来向系统询问文件名、路径和多种其他属性
Files   集合,提供包含在文件夹内的所有文件的列表
Folder   对象,用来创建、删除、移动文件夹的方法和属性
folders   集合,提供在folder内的所有文件夹的列表
TextStream  对象,用来读写文本文件


 动态建立FileSystemObject对象:    var fso=new ActiveXObject("Scripting.FileSystemObject");   实例后就可以对以上的对象和集合进行操作
 
 方法:
   GetAbsolutePathName(参数)  根据提供的路径返回完整的路径
       参数  "c:"  返回当前的完整路径
         "c:.."  返回当前路径的上一级路径
         "c:\\"  返回当前路径根目录
         "c:*.*\\myfile" 返回当前路径后加上"\*.*\myfile"
         "myfile" 在当前路径后加上"\myfile"
         "c:\\..\\..\\myfile" 返回当前路径以myfile文件名为结尾
   GetBaseName(path)   以字符串的形式返回指定路径中最后成分的基本名称,不包括文件扩展名(获取路径中的最后的根文件的名字)
   GetDriveName(path)   根据指定路径返回包含驱动器名称的字符串
   GetDrive(path)   返回路径里面的驱动器对象(会以大写字母表示)
   GetExtensionName(path)   返回路径最后成分扩展名
   GetFileName(path)   返回路径的最后成分,包含扩展名
   GetParentFolderName()   返回最后成分的父文件夹名称的字符串
   
   GetSpecialFolder()   返回指定的特殊文件夹对象
         WindowsFolder  0  Windows文件夹,包含了由Windows操作系统安装的文件
         SystemFolder  1 包含库、字体、已经设备驱动程序的System文件夹
         TemporaryFolder  2 用于存储临时文件的Temp文件夹。这个路径可以在TMP环境变量中找到
   
   GetTempName()    返回一个随机产生的临时文件或文件夹名,有助于执行那些需要临时文件或文件夹的操作
   
Drive对象
 建立对象:  var fso=new ActiveXObject("Scripting.FileSystemObject"); var s= fso.GetDrive("C:\\");
 属性:
    FreeSpace 向用户返回指定驱动器的可用空间大小
    IsReady  判读驱动器是否可用,则返回true
    TotalSize 返回驱动器或网络共享空间的总大小
    DriveType 返回一个值,表示所指定驱动器的类型
    SerialNumber 返回连续十进制数字,用于唯一标识磁盘卷
    AvailableSpace 返回驱动器或网络共享上的可用空间,与FreeSpace的返回值时一样的,但对于支持quotas的两个计算机系统的返回值可能会不同
    FileSystem 返回该驱动器使用的文件夹系统类型
    Path  返回指定文件、文件夹、或驱动器的路径,
    RootFolder 返回一个folder对象,表示指定驱动器的根文件夹。只读
    ShareName 返回指定驱动器的网络共享名
    VolumeName 返回或设置指定驱动器的卷名。读/写

File对象
 建立对象:  同上,var s = fso.GetFile(filespec);   filespec:指定文件的路径(文件地址,给出以便对其进行操作)
 方法:
    Copy(目标位置);  复制指定文件或文件夹到另一个地方
    Delete(force);  force选填;true:删除设置了只读属性的文件或文件夹,
    Move(目标位置)  转移位置
    OpenAsTextStream(iomode,format)  打开指定的文件并返回一个TextStream对象,可用通过该对象对文件进行读写或者追加;iomode:选填,知名输入输出模式;format:选填,指明打开文件的格式
     iomode:
       ForReading  1 以只读方式打开文件,不能写
       ForWritng  2 以写方式打开文件,如果存在同名文件,那么它以前的内容将被覆盖
       ForAppending  8  打开文件并从文件末尾开始写
    
     format  
       TristateUseDefault -2 使用系统默认值打开文件
       TristateTrue  -1 以Unicode方式打开文件
       TristateFalse  0 以ASCII方式打开文件
 
 属性   
    Attributes[=参数] 设置或返回文件或文件夹的属性,根据不同属性为读/写或只读
     Normal  0  普通文件,不设置属性
     ReadOnly 1  只读文件,属性为读/写
     Hidden  2  隐藏文件,属性文读/写
     System  4  系统文件,属性文读/写
     Volume  8  磁盘驱动器卷标,属性为只读
     Directory 16  文件夹或目录,属性为只读
     Archive  32  文件在上次备份后已经修改,属性为读/写
     Alias  64  超链接或者宽街方式,属性为只读
     Compressed 128  压缩文件,属性为只读

    DateCreated  返回指定文件或文件夹的创建日期和事件
    DateAccessed  返回最后访问日期和时间
    DateLastModified 返回最后修改日期或时间
    Name[=newname]  设置或修改文件或文件夹的名称
    Size   以字节为单位返回指定文件或文件夹的大小 
    Type   返回关于文件或文件夹类型的信息 
    ShortName  返回短名称
    Drive   返回指定文件或文件夹的驱动器号,只读
    ParentFolder  返回指定文件的父文件夹对象,只读
    Path   返回指定文件、文件夹、驱动器的路径
    

Folder对象   可以获取服务器端指定文件夹的相关属性
   
 创建   同上:var a = fso.GetFolder(filespec)
 方法:   与File类似
 属性
    Files   返回一个Files集合,由指定文件夹中包含所有File对象组成,包括设置了隐藏和系统属性的文件
    IsRootFoleer  判断当前文件夹是否为根文件夹,如果是根文件夹,就返回true


对象访问语句

 for..in   用来遍历对象的每一个属性,每次都将属性名作为字符串保存在变量里面
    例:for(变量名 in 对象名){ statement。。。}

 with   被用于在访问一个对象的属性或方法时避免重复使用指定对象引用
   例:with(对象){statement(里面直接写方法和属性,如toString();不用对象.toString();)}

数组    可以看成一个单行表格,每个单元格都可以存储一个元素
  语法: array1 = new Array();
   array1 = new Array([size])
   array1 = new Array(列举出所有元素)   不需要都是同种类型的元素
 
· Array的输入输出  基本根java一样  特例:document.write(array1)  能输出所有数组元素值;
  
  属性:
   length    得到数组长度
   prototype   给数组添加新属性或方法
  
  方法: 
   concat()   连接两个或者更多数组,并返回结果  array1.concat(array2,array3,...)把其他数组接到当前数组的末尾
   pop()    删除并返回数组的最后一个元素值  
   push()    像数组末尾添加一个或多个元素,并返回长度 
   shift()   删除并返回数组的第一个元素
   splice()   删除元素,并向数组添加新元素
   unshift()   向数组的开头添加一个或多个元素,并返回新的长度
   reverse()   颠倒数组中元素的顺序
   sort()   对数组的元素进行排序,从小到大
   slice()    从某个已有的数组返回选定的元素      array1.slice([start,end))前闭区间,后面开区间,若只有start,则一直选定到最后一个元素
   toSource()   代表对象的代码源
   toString()   把数组转换为字符串,并返回结果 (变成字符串,用逗号分隔开)
   toLocateString()  把数组转换为本地字符串,并返回结果(同上,分隔符为地区特有的)
   join(“分隔符”)  把数组的所有元素放进一个字符串。元素通过特定的分隔符进行分隔
   valueOf()   返回数组对象的初始值


       


      
 
      
    
     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值