javascript基本概念(一)

一、严格模式
   1、 ECMAScript5中引入了严格模式(strict mode)的概念。本意是为javascript定义了一种不同的解析与执行模式。
   2、 严格模式下的不同:
        (1)、一些不确定行为将得到处理。
        (2)、对某些不安全操作也会抛出异常。
    要在脚本中启用严格模式,就在顶端添加代码:
  1. use strict
    3、严格模式下,javascript的执行结果会有很大不同。
    4、支持严格模式的浏览器如下:
  1. IE10+
  2. Firefox 4+
  3. Safari 5.1+
  4. Opera 12+
  5. Chrome

二、变量
   1、 ECMAScript的变量都是松散类型,也就是可以用来保存任何类型的数据,每个变量仅仅是一个用来保存值的占位符而已。
    2、未经过初始化的变量,将自动保存undefined。
    3、变量的作用域:
        (1)、使用var操作符定义的变量将成为定义该变量的作用域中的局部变量。如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会销毁。
  1. function test(){
  2. var message="h1";//局部变量
  3. }
  4. test();
  5. console.log(message);//报错
          (2)、 变量message是在函数中使用var定义的,当函数被调用时,就会创建该变量并为其赋值。而后,这本变量又会被立刻销毁
  1. function test(){
  2. message="h1";
  3. }
  4. test();
  5. console.log(message);
  6. //输出“hi”
            (3)、当忽略了var操作符时,导致message变成全局变量。这样只要调用test()一次,这个变量就有了定义,可以在函数外部任何地方访问。
            (4)、虽然忽略var操作符可以使变量成为全局变量,但是这种方法不推荐使用。因为局部作用域中定义全局变量很难维护,有意的忽略var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。在严格模式下,给未声明的变量赋值会抛出ReferenceError错误。
三、数据类型
    1、在ECMAScript中有5种简单数据类型(基本数据类型)
  1. Undefined
  2. Null
  3. Boolean
  4. Number
  5. String
    2、1种复杂数据类型
  1. Object
  2. //本质上是由一组无序名值对组成的
    3、typefo操作符
       (1)、 一种用来检测变量数据类型的操作符
  1. //对一个值使用typeof操作符可能返回以下某个字符串
  2. "undefined"//如果这个值未定义
  3. "boolean"//如果这个值是布尔值
  4. "string"//如果这个值是字符串
  5. "number"//如果这个值是数值
  6. "object"//如果这个值是对象或者null
  7. "function"//如果这个值是函数
  1. var int1;
  2. var int2=true;
  3. var int3="sun";
  4. var int4=1;
  5. var int5=new Object();
  6. int5.name="zhou";
  7. int5.age=5;
  8. var int6=function(){
  9. document.write(你好);
  10. };
  11. console.log(typeof(int1));
  12. console.log(typeof(int2));
  13. console.log(typeof(int3));
  14. console.log(typeof(int4));
  15. console.log(typeof(int5));
  16. console.log(typeof(int6));
  17. /*输出为:
  18. "undefined" js19.html:17 "boolean" "string" "number" "object" "function"
  19. */
        (2)、typeof使用例子
  1. var message="some string"
  2. alert(typeof message);
  3. alert(typeof (message));
  4. alert(typeof 95);
                typeof操作符的操作数可以是变量,可以是数值字面量。
                typeof是一个操作符而不是函数,尽量用圆括号使用。
    




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。