zoukankan      html  css  js  c++  java
  • 谈谈javaScript

    谈谈javaScript 

    (杰我学习)

     

    一. 什么是JavaScript

          人们通常所说的JavaScript,其正式名称为ECMAScript。这个标准由ECMA组织发展和维护。ECMA-262是正式的JavaScript标准。这个标准基于网景(Netscape)公司提出的JavaScript语言和微软提出的JScript语言。
    JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用这种语言的目的是:与Web客户交互作用,美化页面等。

    二. JavaScript的特点

         1.  JavaScript是一种脚本编程语言,也是一种解释性语言。
         2.  JavaScript的语法基本结构形式与C++、Java十分类似。
         3.  JavaScript是一种基于对象的语言。
         4.  JavaScript具有跨平台性。JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
         5.  安全性与简单性。

    三.  JavaScript 和 Java 的区别

         JavaScript和Java在语法上很类似,但其本质有着根本的区别。Java是一种比JavaScript更加复杂的程序语言,而JavaScript相对于Java来说,则是容易上手得多。
         二者完全没有关系,网景(Netscape)公司只是为了借着Java语言比较火的东风,将LiveScript语言更名成为了JavaScript语言。

    四. JavaScript的优点与局限

        优点:
       1.  使用JavaScript可以在客户端进行数据验证,节省服务器端的资源。
       2.  可以方便地操纵各种页面中的对象,使网页更加友好。
       3.  使多种任务仅在客户端就可以完成而不需要网络和服务器的参与,从而支持分布式的运算和处理。
       局限:
       1.  兼容性。互联网上有很多浏览器,如FireFox、Internet Explorer、Opera等,但各种浏览器支持JavaScript的程度是不一样的,所以各个浏览器运行JavaScript的效果会有一定的差距,有时甚至会显示不出来。
       2.  JavaScript不能打开、读写和保存用户计算机上的文件。
    五. JavaScript的基本语法

       在HTML中使用JavaScript


      1.   使用<script>JS代码</script>标签
    src属性  :表示包含要执行代码的外部文件。
    type属性:text/javascript(可省略)
    <script type=“text/javascript”>
        alert(‘hello,js’);
    </script>
    注意:当使用script标签的src属性时,script标签中一定不能放入任何JS代码。
    例如:
        <script src=‘test.js’>
            之间不允许加入任何JS代码….
        </script>
    注意:<script>标签可以放到html页面的任何地方。


    2. 使用事件传入JavaScript代码
    <div onclick=“alert(‘hello,js’)”></div>


    3.  使用

    <a href=“javascript:alert(‘hello,js’);”></a>

    4.  区分大小写
    变量、函数名和操作符——都区分大小写


    5.标识符
    a.第一个字符必须是一个字母、下划线或是一个美元符号
    b.其他字符可以是字母、下划线、美元符号或是数字


    6.注释
    //……        单行注释
    /*…*/        多行注释


    7.语句
    JavaScript中的语句以一个分号结尾,如果省略分号,则由解析器确定语句的结尾,一般情况下,换行会被当做一个语句的结尾。

    8.变量
    定义变量时要使用var操作符(注意var是一个关键字),后跟变量名称(一个标识符),如下所示:
    var message;
    也可以直接初始化变量或不使用var(但不推荐)
    var message=‘hi’;    message=100;
    注意:使用var操作符定义的变量将成为定义该变量的作用域中的局部变量。

    9.变量
    可以使用一条语句定义多个变量,只要像下面这样把每个变量用逗号分隔开即可:
    var message=“hi”,
        found=false,
        age=100;

    数值类型

    1.浮点数值
    所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位大于0的数字。
    var num = 1.1;
    var num = 0.1;
    var num = .1;    //有效,但不推荐
    如果小数点后面没有跟任何数字(如1.),可以作为整数值来保存。
    如果浮点数值本身表示的就是一个整数(如1.0),该值会被转为整数。
    可以使用e来表示科学计数法。
    var num = 1.2e3;    //等于1200
    浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不如整数。
    注意:永远不要测试某个特定的浮点数的值!
    例如:
        var a = 0.1;
        var b = 0.2;
        if(a+b == 0.3){
            alert(“输出了”);
        }
    这里是不会弹出的!


    2.数值范围
    由于内存的限制,我们的JavaScript不能保存所有的数值。在大多数浏览器中,最小值是5e-324;最大值为1.7976931348623157e+308,如果某次的计算结果超出这个范围,那么这个值将自动转换为Infinity(正无穷)和-Infinity(负无穷);Infinity不是能够参与计算的数值,可以使用isFinite()函数来判断这个数值是不是无穷的。


    3.NaN
    NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
    例如:在其他语言中,任何数值除以0都会导致错误。但在JavaScript中,任何数值除以0会返回NaN,因此不会影响其他代码的运行。
    NaN的特点:
    (1).任何涉及NaN的操作,结果都为NaN
    (2).NaN与任何值都不相等,包括NaN本身。例如:下面的代码会返回false
    alert(NaN == NaN);
    可以使用isNaN()函数来判断某一个值是否是NaN类型。


    数值转换
    我们可以使用三个函数Number()、parseInt()和parseFloat()将一个非数值转换为数值。
    Number()函数的转换规则:
    1.如果是布尔值,true和false将分别转换为1和0
    2.如果是数字值,只是简单的传入和返回
    3.如果是null,返回0
    4.如果undefined,返回NaN
    5.如果是字符串,遵循下列规则:
    a.“11”会变成11,“011”会变成11
    b.“1.1”会变成1.1
    c.“0xf”会转换成相同大小的十进制整数值
    d.  如果字符串是空的,则将其转换为0
    e.  如果字符串包含除上述格式之外的字符,则将其转换成NaN


    parseInt()的转换规则
    1.忽略字符串前面的空格,直到找到第一个非空格字符
    2.如果第一个字符不是数字或者是负号,返回NaN
    3.空字符串,返回NaN
    4.如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符。
    5.如果字符串以0x开头且后面跟数字字符,就会将其转为16进制数,同样,八进制也一样。
    parseFloat()也是从第一个字符开始解析每个字符,而且也是一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。规则如下:
    1.第一个小数点是有效的,第二个小数点无效
    2.始终忽略前面的0,不分进制数
    3.十六进制会被转换成0
    4.空字符串转换为NaN
    3.布尔类型
    布尔类型的字面值只有两个,true和false,可以使用Boolean()函数将一个非布尔类型转换为布尔类型。


    复合数据类型
    1.对象
    对象其实就是一些数据的集合,这些数据可以是字符串型、数字型和布尔型,也可以是复合型。
    2.数组
    数组与对象一样,也是一些数据的集合,这些数据也可以是字符串型、数字型、布尔型、或者是复合型。与对象不同,数组中的数据并没有命名,不能通过名字来引用该数据。在数组中,为每个数据都编了一个号(从0开始),为数组的下标。


    其他数据类型
    1.函数
    函数是一段可执行的JavaScript代码,在JavaScript中,函数可以带有0个或多个参数,也可以返回一个值或不返回值。
    2.null
    null是一个特殊的数据类型,其所代表的意思是“空”。需要注意,这个空并不代表是0或空字符串。null代表没有值,不是一个有效的数字、字符串、也不是数组、对象和函数,什么数据类型都不是。
    3.undefined
    undefined也是一个特殊的数据类型,只有定义了一个变量但没有为该变量赋值,使用了一个并未定义的变量、或者是使用了一个不存在的对象的属性时,JavaScript会返回undefined。


    数据类型的转换

     

    1.自动/隐式类型转换
    所谓隐式类型转换,就是不需要程序员定义,JavaScript会自动将某一个类型的数据转换成另一个类型的数据。JavaScript隐式类型转换的规则:
    将类型转换到环境中应该使用的类型。
    例如:if(1){    //1会自动转换成true
            document.write(‘ok’);
        }
    可以隐式类型转换的情况:
    1.数字类型:在字符串环境下可以隐式转换为“数字”,在布尔环境下,可以隐式转换为true(非0数字,0为false)
    2.非空字符串:在数字环境下,可以隐式转换为字符串中的数字或NaN;在布尔环境下,可以隐式转换为true。
    3.空字符串:在数字环境下可以隐式转换为0;在布尔环境下可以隐式转换为false;
    4.字符串”true“:在数字环境下可以隐式转换位1;布尔为true
    5.字符串“false”:数字环境为0,布尔位false
    6.null:在字符串环境下,转换为“null”;数字环境下,转换为0,布尔环境下,转为false
    7.NaN:在字符串环境下可以隐式转换为“NaN”;布尔环境下,转换为false
    8.undefined:字符串环境下,转换为“undefined”,数字环境下,转为NaN,布尔下,转为false
    9.true:字符串转为“true”,数字环境下转为1
    10.false:字符串转为“false”,数字环境下转为0


    2.显式类型转换
    在JavaScript中,可以使用Number()、Boolean()、String()函数来将数据类型转换成数字型、布尔型、字符串型
    1.数字类型转换成字符串型,可以将其与一个空字符串相连。
    var s = 123+””;
    2.字符串型转换成数字型,可以将其减0
    var s = “123”- 0;
    3.字符串型或数字型转换成布尔型,可以使用两次!运算符
    var s = “true”;    if(!!s){}




     

     

     

     

     

     

     

     

  • 相关阅读:
    qt调用simsimi api实现小黄鸡
    [机器学习系列] k-近邻算法(K–nearest neighbors)
    Ubuntu上安装flashplayer
    关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法
    Linux下添加源的几种方法
    Ubuntu字符界面输入密码始终提示错误 login incorrect 解决办法
    boost::algorithm(字符串算法库)
    boost::assign(标准容器填充库)
    boost::format(字符串格式化库)
    C/C++内存对齐 ZZ
  • 原文地址:https://www.cnblogs.com/atongmyuxiaowanzi/p/4751777.html
Copyright © 2011-2022 走看看