zoukankan      html  css  js  c++  java
  • 六、其他javascript秘籍

    json javascript Object notation 即javascript对象表示法。json其实是一种数据格式。

    下面的语句创建一个对象:

        <script type="text/javascript">
            var oPerson = {
                name: ",mufan",
                age: 100,
                school: {
                    college:"jl",
                    "high school":"jlu"
                },
                like:["mm"]
            }
        </script>

    json的语法格式是使用{}表示一个对象,使用“属性名称:值”的格式创建属性,多个属性用“,”隔开。上例中,school属性又是一个对象,like属性是一个数组。访问的方法如下:

    objectA.school["high school"];

    objectA.like[1];

    .NET3.5以上版本支持json序列化和反序列化的类。

    动态语言eval

    eval()方法可以将json格式的字符转化为javascript对象:

    var sJson = "{name:'mufan'}";
    eval(" var oName =" + sJson);
    alert(oName.name);

    注意这里的sJson是字符串,是Json格式的,使用eval方法将sJson字符串转化为对象存储在oName中。

    eval函数可以计算某个字符串,并执行其中的javascript代码。这使javascript摇身一变成了动态语言,可以在运行时构造语句,通过执行eval()函数。

    eval函数是有返回值的:

    var iNum = eval("5+2");

    alert(iNum);//输出7

    javascript中的逻辑运算符

    javascript中的and or 还会返回对象

    NOT运算符用 ! 表示。NOT运算符返回的一定是布尔值。任何定义的了对象都可以 ! 运算。

    NOT运算符的规则如下:

    对象返回false

    数字0返回true

    0以外的数字返回false

    null返回true

    NaN返回true

    undefined返回true

    未定义的undefined发生错误

    NOT运算符其实和if条件语句的行为是一样的,只是结果相反。

    AND运算符 && and运算符的运算数如果都是boolean类型的对象,那么运算规则就是如果有一个运算对象是false,则返回false。

    and运算符的规则如下:

    如果一个运算数是对象,另一个是Boolean,则返回该对象。

    如果两个运算数都是对象,则返回第二个对象。

    如果某个运算数是null,则返回null。

    如果某个运算数是NaN,则返回NaN。

    如果某个运算数是未初始化的undefined,则返回undefined。

    如果运算数是未定义的undefined,则发生错误。

    此外还有一个很重要的规则,如果第一个运算数决定的结果,就不再计算第二个运算数。

    or运算符 || 有一个为true 就返回 true,在javascript中or运算符的规则如下:

    如果一个运算数是对象,另一个是boolean值,则返回该对象。

    如果两个运算数都是对象,则返回第一个对象。

    如果两个运算数是null,则返回null。

    如果某个运算数是NaN,则返回NaN。

    如果某个运算数是未初始化的undefined,则忽略此操作数。

    如果某个运算数是未定义的undefined,则报错。

    利用||运算符做一个功能,设置默认参数,如下:

    function testMethod3(param1)

    {

    alert(param1 || "abc");

    }

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/tomkillua/p/2615098.html
Copyright © 2011-2022 走看看