zoukankan      html  css  js  c++  java
  • 一些javascript题目

    var result = [10] + 1;
    console.log(result)
    
    "101"
    存在运算符"+",意味着将[10]转化为一个值,相当于调用其valueOf()方法,而Array的valueOf相当于其toString
    
    var result = ['a', 'b', 'c'] + "";
    console.log(result)
    
    "a,b,c"
    与一个空字符相加,我们大可以就当成强行调用其toString方法,而Array的toString方法相当于调用其join方法,join的默认分隔符则为","
    
    var result = 'a' + 5;
    console.log(result)
    
    "a5"
    加号表达式优先考虑字符串拼接
    
    var result = 3.75 | 0;
    console.log(result)
    
    3
    数值|0相当于对数值进行Math.floor
    
    var result = 65 / 'a';
    console.log(result)
    
    NaN
    'a'首先要转换为一个Number类型,既然不能转换为一个正常的数字,就转换为NaN,与NaN进行运算结果都为NaN
    
    var obj = {"10": 1};
    obj[10] = 2;
    obj[[1, 0]] = 3;
    var result = obj["10"] + obj[10] + obj[[1, 0]];
    console.log(result)
    
    7
    对象的键总为字符串,因此obj[10]相当于obj["10"],obj[[1,0]]相当于obj["1,0"]
    
    var $ = {"": String};
    var result = !!$[([])]();
    console.log(result)
    
    false
    转换过程如下
    !!$[([])]() -->  !!$[""]() --> !!String() --> !!"" --> false
    
    var result = (' \t\r\n ' == 0);
    console.log(result)
    
    true
    考空白字符串的类型
    参见http://www.cnblogs.com/rubylouvre/archive/2009/09/18/1568794.html这里的回复讨论
    
    var a = new String("123");
    var b = "123";
    var result = (a === b);
    console.log(result)
    
    false
    一个为object一个为string
    
    var a = {key: 1};
    var b = {key: 1};
    var result = (a == b);
    console.log(result)
    
    false
    两个对象总是不等的
    

    http://blog.vjeux.com/2009/javascript/smallhash-information-compression.html

  • 相关阅读:
    ios界面布局整理
    android ProGuard 代码混淆实现
    mac版 android破解软件下载安装
    在unix系统下的 .o文件 .a文件 .so文件说明和相互关系
    android中的广播接收实现总结
    用java的jdk 生成android 的jni接口文档
    Android 自定义Application
    android项目中配置NDK自动编译生成so文件
    创建android Notification
    (ios) nsnotification总结
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1857951.html
Copyright © 2011-2022 走看看