美文网首页
JavaScript基本语法(一)

JavaScript基本语法(一)

作者: 橘生淮南_5f9d | 来源:发表于2019-11-11 17:24 被阅读0次

    JavaScript与java的区别

    • java和JavaScript完全是两个不同的产品,java是面向对象程序设计语言,而JavaScript是一种可以嵌入web页面中的解释性语言
    • java是面向对象的程序设计语言,即使是开发简单的程序,也必须从类定义开始;JavaScript是基于对象的,本身提供了非常丰富的内部对象供设计人员使用
    • 两种语言的执行方式完全不一样
    • 两种语言的变量声明也不一样
    • 代码格式不一样

    数据类型和变量

    定义变量的方式

    JavaScript是弱类型脚本语言,使用变量之前,可以无需定义,想使用某个变量时直接使用即可,所以JavaScript支持两种方式来引入变量:

    1. 隐式定义:直接给变量赋值
    2. 显式定义:使用var关键字定义变量
    <script type="text/javascript">
        // 隐式定义变量a
        a = "Hello JavaScript";
        alert(a);
    </script>
    
    <script type="text/javascript">
        // 显式定义变量a
        var a;
        a = "Hello JavaScript";
        alert(a);
    </script>
    

    JavaScript中的变量是区分大小写的,JavaScript允许一次定义多个变量

    var a, b, c;
    

    也可以在定义变量时为变量指定初始值

    var i, j = 0, k = 0;
    

    类型转换

    JavaScript支持自动类型转换,这种类型转换的功能非常强大,自动类型转换虽然方便,但程序可读性非常差
    JavaScript提供了几个函数来执行强制类型转换:

    • toString(): 将布尔值、数值等转换成字符串
    • parseInt(): 将字符串、布尔值等转换成整数
    • parseFloat(): 将字符串、布尔值等转换成浮点数
      当使用parseInt()或parseFloat()时,结果如下:
    • 字符串值:如果字符串是一个数值字符串,则可以转换成一个数值,否则将转换成NaN。
    • undefined、null、布尔值及其他对象:一律转换成NaN
      当使用toString()将各种类型的值向字符串转换时,结果全是object

    变量

    变量是程序设计语言里最重要、最基本的概念
    JavaScript中的变量可以一会儿存储数值一会儿存储字符串;
    变量根据作用范围分为全局变量和局部变量:直接定义的变量是全局变量,全局变量可以被全部的脚本访问;在函数里定义的是局部变量,局部变量只在函数内有效。若局部变量与全局变量使用相同的变量名,则局部变量将覆盖全局变量。
    JavaScript变量没有块范围,所以会出现以下情况:

    <script type="text/javascript">
      //定义全局变量
      var scope = "全局变量";
      function test () {
        document.writeln(scope + "<br />");
        var scope = "局部变量";
        document.writeln(scope + "<br />");  
      }
    test();
    </script>
    
    image.png

    第一次输出的scope值是undefined,而不是“全局变量”,这是因为变量scope在test()函数中已经被覆盖,局部变量在整个test()函数内都是有效的,但此处scope还没被赋值,所以输出undefined

    基本数据类型

    JavaScript的基本数据类型有:

    • 数值类型:整数和浮点数
    • 布尔类型:只有true和false两个值
    • 字符串类型:字符串变量必须用引号括起来,可以是单引号也可以是双引号
    • undefined类型:专门用来确定一个已经常见但没有初值的变量
    • null类型:用于表明某个变量值为空

    数值类型

    JavaScript的数值类型包括所有整型变量和浮点型变量,支持科学记数法:<num1>e<num2>
    注意:数值直接量不要以0开头。JavaScript不仅支持十进制,还支持其他进制,八进制以0开头,十六进制以0x或者0X开头
    当数值变量的值超出了其表数范围时,将出现两个特殊数值:Infinity(正无穷大)和 -Infinity(负无穷大)
    Infinity、-Infinity与其他数值进行算术运算时,整个算术表达式将变成另一个特殊值:NaN。但Infinity和-Infinity可以执行比较运算:两个Infinity总是相等的,两个-infinity也总是相等的
    JavaScript中的算术运算允许除数为0(除数和被除数也可以同时为0,得到结果为NaN),正数除以0的结果是Infinity,负数除以0的结果是-Infinity。
    NaN是另一个特殊数值,它是Not a Number三个单词的首字母,表示非数,NaN不会与任何数值变量相等,NaN == NaN返回false,判断一个变量是否为NaN,JavaScript提供了isNaN()函数来判断。

    字符串类型

    JavaScript的字符串必须用引号括起来,可以是单引号也可以是双引号。JavaScript中比较两个字符串是否相等,使用==即可。
    JavaScript以String内建类来表示字符串,String类里包含了 一系列方法操作字符串:

    • String(): 类似于面向对象语言中的构造器,使用该方法可以构造一个字符串
    • charAt(): 获取字符串特定所引处的字符
    • charCodeAt(): 返回字符串中特定索引处的字符所对应的Unicode值
    • length(): 属性,直接返回字符串长度。JavaScript中的中文字符算一个字符
    • toUpperCase(): 将字符串的所有字母转换为大写字母
    • toLowerCase(): 将字符串的所有字母转换为小写字母
    • fromCharCode(): 静态方法,直接通过String类调用该方法,将一系列Unicode值转换成字符串
    • indexOf(): 返回字符串中特定字符串第一次出现的位置
    • lastIndex(): 返回字符串中特定字符串最后一次出现的位置
    • substring(): 返回字符串中的某个子串
    • slice(): 返回字符串的某个子串,功能比substring更强大,支持负参数
    • match(): 使用正则表达式搜索目标子字符串
    • search(): 使用正则表达式搜索目标子字符串
    • concat(): 用于将多个字符串拼接成一个字符串
    • split(): 将某个字符串分割成多个字符串,可以指定分隔符
    • replace(): 将字符串中某个子串以特定字符串代替

    indexOf()与lastIndexOf()

    • indexOf(目标字符串 [, 开始搜索的位置]):搜索目标字符串第一次出现的位置
    • lastIndexOf(目标字符串 [, 开始的位置]):搜索目标字符串最后一次出现的位置
    <script type="text/javascript">
      var a = "hellojavascript"; 
      var b = a.indexOf("llo");// b = 2
      var c = a.indexOf("llo",3); // c = -1
      var d = a.lastIndexOf("a"); // d = 8
      alert(b + "\n" + c + "\n" + d);
    </script>
    

    相关文章

      网友评论

          本文标题:JavaScript基本语法(一)

          本文链接:https://www.haomeiwen.com/subject/dthtictx.html