• JavaScript基础知识点


    一、数据类型

    1、JavaScript是弱类型语言。可用var m=1;来显示声明。也可m=1;来隐式声明。

    2、命名规则:区分大小写,开头必须是字母或 $ 或 _。abc和ABC为两个不同的变量名。

    3、JavaScript数据类型有三种:基本数据类型(字符串、数值、布尔)、复合数据类型(对象)、特殊数据类型(null、undefined)。

    3.1 基本数据类型

    3.1.1 字符串string:例:'hello world'; "hello world"; 'pony\'s "cat"';

    3.1.2 数值number:整型和浮点型

    整型:(1)十进制 例:-10;10;0;(2)以0开头且不含8、9为八进制 例:071; (3)以0x开头为16进制 例:0x7a;

    浮点型:e表示以10为底的指数。例:3.45e2

    特殊数值:

    NaN:特殊的非数字值(唯一的与自身不等的值)
    Number.NaN:特殊的非数字值
    Number.MAX_VALUE:可表示的最大数字
    Number.MIN_VALUE:可表示的最小数字(与零最接近的数字)
    Number.POSITIVE_INFINITY:表示正无穷大的特殊值(显示为infinity)
    Number.NEGATIVE_INFINITY:表示负无穷大的特殊值

    3.1.3 布尔boolean:只有两个值:true、false。

    3.2 复合数据类型

    3.2.1 对象object:

    一个函数就是一个对象。function fun(){}

    数组也是一个对象。var a=[1,2];var b=new Array();

    对象传递是引用传递。

    3.3 特殊数据类型

    3.3.1 null :表示无基本数据类型值或对象值。可以通过给一个变量赋 null 值来清除变量的内容。typeof(null)==='object'。

    3.3.2 undefined :表示未定义(未声明或已声明但未赋值)。undefined是一个值。undefined不是Javascript的保留字。

    var b = undefined;
    alert(typeof(b));//undefined
    var undefined=3;
    alert(typeof(undefined));//number
    var c;
    alert(typeof(c));//undefined
    c = undefined;
    alert(typeof(c));//number

    二、基本语法

    1、HTML中引用

    1.1

    <script type="text/javascript">

    //<![CDATA[

    //代码

    //]]>

    </script>

    1.2

    <script type="text/javascript" src="j.js" ></script>

    1.3

    <a href="javascript:alert(new Date())">javascript</a>

    1.4
    <input type="button" value="test" onclick="alert(new Date())">

    2、基本语法

    if(){}else(){}

    while(){}

    switch(){case:;}

    for(;;){}

    异常处理

    function fun(){

    throw new Error("");

    }

    try{fun();}catch(e){}finally{}

    针对对象或数组

    for(var p in arr){

      a[p] = arr[p];

    }

    参数个数可变的函数:
    function testparams()
    {
      var params="";
      for(var i=0;i<arguments.length;i++)    //在函数内部使用arguments对象来访问调用程序所传递来的参数。
         params=params+""+arguments[i];
      alert(params);
    }
    testparams("abc",123);
    testparams(123,456,"abc")'

    创建动态函数: 
    var varName=new Function(argument1,...,lastArgument);
    说明:所有的参数都必须是字符串型的,最后的参数必须是这个动态函数的功能程序代码。
    例子:
    <script language="javascript">
      var square=new Function("x","y","var sum;sum=x*x+y*y;return sum;");
      alert(square(3,2));
    </script>

    三、对象

    1、对象原型

    function P(){
      this.a = 1;
      this.b = 2;
    }
    P.prototype.toString = function(){return this.a+this.b;}
    var pp = new P();
    alert(pp);//3
    pp.a = 3;
    pp.b = 4;
    alert(pp);//7
    pp['a'] = 5;
    pp['b'] = 6;
    alert(pp);//11
    pp.toString = function(){return 'a='+this.a;}
    alert(pp);//a=5;
    pp['toString'] = function(){return 'b='+this.b;}
    alert(pp);//b=6;

    2、对象继承

    function P(){
      this.a = 1;
      this.b = 2;
    }
    P.prototype.toString = function(){return this.a+this.b;}
    var pp = new P();
    alert(pp);//3
    function T(){
    }
    T.prototype = new P();
    var tt = new T();
    alert(tt);//3

    3、JSON

    JSON建构于两种结构:

    (1)“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

    (2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

    image

    例:

    var p = {"name":"Michael","address":
        {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
    };

    参考:

    #1.js中prototype用法 http://apps.hi.baidu.com/share/detail/15482416

    #2.浅谈javascript的数据类型检测 http://www.cnblogs.com/jeffwongishandsome/archive/2010/07/09/1774613.html

    #3.javascript基本语法 http://blog.csdn.net/xiaole_hao/archive/2007/04/20/1573238.aspx

    #4.JavaScript 参考手册 http://www.w3school.com.cn/js/js_reference.asp

    #5.http://www.json.org/json-zh.html

    #6.2009年发布的ECMA http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

    #7.2006年 JSON的RFC4627 http://www.ietf.org/rfc/rfc4627.txt

    #8.SJ9012: IE6 IE7 IE8(Q) 不支持JSON对象 http://www.w3help.org/zh-cn/causes/SJ9012

    文档信息

    作者:一个农夫 ( www.cnblogs.com/afarmer )

    欢迎转载,请保留文档信息。

  • 相关阅读:
    redis
    dom4j-1.6.1.jar与dom4j-1.4.jar
    runoob
    session失效后,登录页面嵌入iframe框架
    log4j.properties 详解与配置步骤
    maven+swagger
    Eclipse建立Maven项目后无法建立src/main/java资源文件夹
    vue 3.x 相对于 vue 2.x 的重大修改
    面试准备
    JS系列
  • 原文地址:https://www.cnblogs.com/afarmer/p/2083018.html
Copyright © 2020-2023  润新知