javascript 高级编程1.0

来源:互联网 发布:矩阵的一致性检验公式 编辑:程序博客网 时间:2024/05/17 23:53

一、javascript的组成

1、应用程序接口:API

2、文档对象模型DOM,是针对xml但经过扩展用于HTML的应用程序接口API。

3、浏览器对象BOM,支持可以访问和操作浏览器窗口的浏览器对象模型。可以用于控制浏览器显示的页面以外的部分。

javascript的组成:

    (1)ECMAScript,提供核心语言功能。

     (2)文档对象模型DOM,提供访问和操作网页内容的方法和接口。

      (3)浏览器对象模型BOM,提供与浏览器交互的方法和接口。


二、javascript的位置

  1、放在head中的javascript文件,必须等到全部javascript代码都被下载解析执行完成以后,才能开始呈现页面的内容,才开始找body标签。

        这会导致浏览器在呈现页面时出现明显的延迟,窗口空白。

        所以一般放在</body>之前。

 2、延迟脚本

      defer属性:<script type="" src="" defer="defer"></script>

       这时即使script放在head中,脚本将延迟到浏览器遇到</html>标签后再执行。一般最好只包含一个延迟脚本。

       所以,一般选在是按1中把脚本放在</body>之前。


三、基本概念

1、区分大小写。关键字如typeof不可以表示函数名,但是typeOf(注意大小写)可以表示函数名。

2、标识符:变量、属性、函数名字、函数参数。第一个字符必须是字母、下划线、或$符号。

      一般第一个字母小写。

      一般不使用关键字、保留字、true\false\null作为标识符。

3、注释

4、变量

      使用var操作符定义的变量将成为定义该变量的作用域中的局部变量。

      如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁。

      如果在函数中使用新的变量,没有用var字符,这个新的变量就成了全局变量。只要调用过一次这个函数,这个变量就有了意义,可以再函数外部的任何地方被访问到。这种方式不推荐。仅供理解。

5、数据类型:undefined\null\booolean\number\string\object\function

       null:表示一个空对象指针,因此赋予此值得对象会返回object。如果将来用作保存对象,最好将该变量初始化为null。可以进一步区分null和undefined。

       boolean:小写的true 和false。大写的True和False是标识符。转化为boolean类型:Boolean(string)

                          对于任何数据类型的值调用Boolean()函数,总会返回一个Boolean值。返回true或false取决于转换值得数据类型及其实际值。

                          各种数据类型及其对应的转换规则:

数据类型                               转换为true的值                                    转换为false的值

Boolean                                        true                                                        false

String                                   任何非空字符串                                         空字符串

Number                              任何非零数字值                            0 和NaN

Object                                      任何对象                                                       null

Undefined                               不适用                                                        undefined

用于流控制语句自动执行相应的Boolean转换:

var message = ”stringhello";   // String数据类型,自动执行其对应的Boolean转换:非空字符串返回true。

if (message){

alert("true");

}

由于存在这种自动执行的Boolean转换,因此确切知道在流控制语句中使用的是什么变量很重要。

不明确是什么对象的情况下使用了这种自动转换,或错误的使用一个对象而不是一个Boolean值,就有可能改变应用程序的流程。

             number:十进制、八进制、十六进制。

                              八进制地位必须是0,后面是八进制数字(0-7)。当数值超出了范围,那么最前面的0将被忽略,后面的数值将被当做十进制数值解析。  

                             十六进制前面两位必须是0x,后面跟任何十六进制数字(0-9或a-f),字母可大小写。在进行算术计算时,所有以八进制和十六进制表示的数值最终都将被转换为十进制数值。

                             浮点数值:数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。保存数值需要的内存空间是保存数值的两倍。所以当整数位有如1.0的数,会自动被转化为整数1保存。

                             确定一个数值是否正负无穷之间,不是无穷大的:函数isFinite()。

                            NaN,非数值。用于表示一个本来要返回数值的操作数,未返回数值的情况。如任何数除以0不抛出错误,而是返回Nan

                            isNan()函数:尝试将这个数值参数转化为数值。不能被转化的都会导致返回true。布尔值可以再isNan中转化为1\0

6、有三个函数可以把非数值转化为数值:Number() , parseInt(),parseFloat()   

       Number(任何数据类型)

       parseInt(字符串)

       parseFloat(字符串)

(1)Number()函数:

          如果是Boolean值,true和false分别被转化为1和0。

          如果是数字值,只是简单的传入和返回。

          如果是NULL值,返回0

          如果是undefined,返回Nan

          如果是字符串:如果是空的转化为0.如果包含数字浮点之外的字符,转化为Nan。

          如果是对象,则调用valueO()方法,然后依照前面的规则转换返回的值。

          如果是Nan,则调用对象的toString()方法再转换返回的字符串到数值。


一般情况下使用parseInt()而不是Number()


   parseInt()函数会查看参数是否符合数值模式,会忽略前面的0,直到找到第一个非0字符。 

   parseInt("",16)表示是16进制。


parseInt()和parseFloat()会忽略字符串中的第一个非0数值前的0.



                               




    









0 0
原创粉丝点击