JavaScript基础(一):基本语法

1. 数据类型

JavaScript是一种弱类型的语言,对于如何使用不同类型的数据没有严格要求。常用的基本数据类型有:

  • 数值:整数和小数
  • 文本数据:js中文本数据需要放在双引号中(“hello world!”)
  • 布尔类型:布尔类型值只有 true&false,表示真假

除了基本数据类型外,js还有对象数据类型(Object)

2. 变量

2.1 变量保存在内存当中,用于保存临时数据。js中变量名称严格区分大小写,基本命名规则:

  • 不能以数字开头
  • 不能包含特殊字符:&和%
  • 不能使用js的保留字:var、with ….

2.2 创建变量与赋值
js中使用关键字 var 来声明变量,声明变量之后就能用变量来存储任意类型的数据。因为js是
弱类型的语言,所以在什么变量的时候无需指定变量保存的数据类型。

<script type="text/javascript">
        // 声明一个变量,无需指定变量存储的数据类型
        var myVariable;
        // 给变量赋值
        myVariable = "Hello!";
        alert(myVariable);

        // js中变量存储的数据类型可以改变,神奇!
        myVariable = 321;
        alert(myVariable);

        // 声明一个变量但未赋值,此时变量的值是:undefined
        var testVariable;
    </script>

2.3 数据类型转换

  • 将字符串转换为数值:parseInt() 和 parseFloat()
  • 处理无法转换为数值的字符串:如果试图将 “hello!” 转换为数值,得到的将是 NaN(Not a number)。函数isNaN()用来测试字符串字否是数值,不是数值返回true,是数值返回false

3. 数组

与变量不同,数组可以保存多个数据(元素),数组通过索引值index来区分数组中的数据项。

<script type="text/javascript">
        // 声明数组的原始方式,利用new关键字和Array()函数
        var myArray = new Array();
        // 实际开发中使用数组字面值创建数组,声明数组时无需指定数组大小。
        // 数组中每一个元素都可视为一个标准变量,同一数组中可以保存不同类型的数据。。。神奇!
        var myArray = [];
        // 为数组中元素赋值
        myArray[0] = "Paul";
        myArray[1] = 32;
        myArray[2] ="John";
        myArray[3] = 27;

        // 如果程序试图访问数组中未定义的元素,则返回undefined
        alert(myArray[10]);
    </script>

4. 函数和作用域

4.1 函数的要点

  • 在js中定义的每个函数在该页面上必须有唯一名称
  • 使用return语句,函数可以将值返回给调用它的代码,未使用return语句则默认返回undefined
  • 函数的代码只有在被要求时才会执行,称为函数调用
<script type="text/javascript">
        // 自定义函数,function为关键字
        function convertToCentigrade(degFahren){
            // 声明一个内部变量
            var degCent = 5 / 9 * (degFahren - 32);

            // 返回值
            return degCent;
        }

        // 调用函数
        var temp = convertToCentigrade(32);
    </script>

4.2 作用域
js中变量的作用域分为全局作用域和局部作用域。全局作用域的变量声明在函数外面,能被整个页面所有脚本引用。因此,全局作用域的变量很容易被不经意地修改,在实际开发中尽量避免使用。

<script type="text/javascript">
        // 全局变量,定义在函数之外
        var degFahren = 12;

        function convertToCentigrade(degree){
            // 局部变量,定义在函数内部。函数的参数也是局部作用域的。
            var degCent = 5 / 9 * (degree - 32);
        }
    </script>

如果局部变量和全局变量具有相同的名称,那么js引擎会通过标识符查找在当前作用域内查找变量,局部变量的运算优先级高于全局变量。

4.3 将函数用作值(js最神奇的操作)
在js中可以像使用其他任何值一样来使用函数,比如将函数作为参数传递给另一个函数。。。

<script type="text/javascript">
        function convertToCentigrade(degree){
            var degCent = 5 / 9 * (degree - 32);
        }
        // 将函数引用赋值给一个变量...
        //注意函数名称后面没有括号,有括号就变成了函数调用了
        var myFunction = convertToCentigrade;

        function doSomething(fn){
            fn("Helle World!");
        }
        // 将一个函数作为参数传递给另一个函数。alert()
        doSomething(alert);
    </script>

猜你喜欢

转载自blog.csdn.net/cainiaomanong/article/details/79489974