1.字符串的不可变性

  字符串定义了后,会一直占据内存空间,企鹅该处内存空间(栈)不可被重新赋值

2.短路运算

  ||、&& 二元运算符,返回参与运算的操作数的原值(原数据类型和原数据)

  运算结束后,返回导致运算结束的那个操作数。

3.三元运算符

  code1?code2:code3;   与if-else 不同:

  返回code2或code3的值----code2,code3   都可以空的{}代替;

                   不能写break,continue。

4.NaN

  NaN !=NaN,

  任何NaN参与的数学运算,其结果都是NaN

  有NaN参与的条件表达式:    比较运算符 >/>=/</<=/==/===     运算结果为false

                     !==/!=         运算结果为true

  

 <script>
var a;
console.log(Boolean(NaN>=4));
console.log(Boolean(NaN<4));
console.log(Boolean(NaN=4));
console.log(Boolean(NaN==4));
console.log(Boolean(a=4));
console.log(NaN);
console.log(a);
if(NaN==NaN){
a = "NaN==NaN";
}
var b;
if(NaN!==NaN){
b = "NaN!=NaN";
}
console.log(a+"\n"+b);
</script>

---NaN特点演示

5. JS 简单数据类型的转换---特殊情况演示

  数据:0,“”,false,null,undefined,"123abc"等

 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
div {
line-height: 24px;
margin: 0;
padding: 0;
}
.one {
width: 920px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -460px;
margin-top: -240px;
}
.all {
float: left;
border: 2px solid #000000;
}
.all-top {
font-size: 20px;
font-weight: bold;
}
.all-bottom {
line-height: 48px;
font-size: 16px;
}
.details {
float: left;
border: 2px solid #000000;
line-height: 24px;
margin-left: -2px;
}
.details:hover {
position: relative;
border: 2px solid #ff0000;
}
.line-long {
border-top: 2px solid #000000;
height: 0;
width: 908px;
}
.line-short {
border-top: 2px dashed #000000;
height: 0;
width: 742px;
margin-left: 166px;
}
</style>
<script>
document.write("<div class='one'>");
function f1() {
return typeof res[res.length - 1];
}
var arr = [0, "", false, null, undefined, NaN, 6.66, -9, "abc124", "-12.23abc23", "qwer", "s s"];
document.write("<div class='all'><div class='all-top'>" + "&nbsp;&nbsp;原数据及类型" + "</br>" + "转换方法&nbsp;&nbsp;</div>" + "<div class='all-bottom'>" + "+" + "</br>" + "Number()" + "</br>" + "parseInt()" + "</br>" + "parseFloat()" + "</br>" + "\"\"" + "</br>" + ".toString" + "</br>" + "String()" + "</br>" + "!!" + "</br>" + "Boolean()" + "</br>" + "</div></div>")
for (var i = 0; i < arr.length; i++) {
switch (true) {
case arr[i] === "":
{
var res = ['""'];
break;
}
default :
{
var res = [arr[i] + ""];
}
}
res[res.length] = typeof arr[i];
res[res.length] = +arr[i];
res[res.length] = f1();
res[res.length] = Number(arr[i]);
res[res.length] = f1();
res[res.length] = parseInt(arr[i]);
res[res.length] = f1();
res[res.length] = parseFloat(arr[i]);
res[res.length] = f1();
res[res.length] = arr[i] + "";
res[res.length] = f1();
if (i == 3 || i == 4) {//null 和undefined没有.toString()方法,导致报错
res[res.length] = "报错";
res[res.length] = "报错";
} else {
res[res.length] = (arr[i]).toString();
res[res.length] = f1();
}
res[res.length] = String(arr[i]);
res[res.length] = f1();
res[res.length] = !!arr[i];
res[res.length] = f1();
res[res.length] = Boolean(arr[i]);
res[res.length] = f1(); var resString = res.join("<br>");
document.write("<div class='details'>" + resString + "</br>" + "</div>");
}
var j = 22;
for (var i = 0; i < 9; i++) {
document.write("<div class='line-short' style='margin-top:" + j + "px'></div>")
document.write("<div class='line-long' style='margin-top:" + j + "px'></div>")
}
document.write("</div>");
</script>
</head>
<body>
</body>
</html>

数据类型转换中的一些特殊情况(JY06-JavaScript)的更多相关文章

  1. Dynamics CRM 通过OData查询数据URI中包含中文的情况

    filter条件如下"?$filter=new_name eq '采购主管' and new_entityname eq 'new_purchaseenquiry' ",如果用这个 ...

  2. [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换

    [.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...

  3. SQL中数据类型转换

    CAST 和 CONVERT 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data ...

  4. matlab中图片数据类型转换uint8与double

    matlab中处理图像像素点数据: img1=double(imread('lenna.bmp')); matlab中imshow图片,要先转换成uint8: subplot(1,2,1),imsho ...

  5. Java中数据类型转换&基本类型变量和对象型变量

    1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型    byte,short,int,lo ...

  6. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  7. JavaScript中数据类型转换总结

    JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...

  8. C语言中强制数据类型转换(转)

    原文地址不详 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0-255(有些 ...

  9. Java基础知识强化22:Java中数据类型转换

    数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b:  long b:  float b:   double  b: 上面的语句可 ...

随机推荐

  1. Shell test命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于 ...

  2. java保留两位小数的方法

    01.import java.math.BigDecimal; 02.import java.text.DecimalFormat; 03.import java.text.NumberFormat; ...

  3. 编写可维护的javascript代码---开篇(介绍自动报错的插件)

    文章开篇主要推荐了2款检测编程风格的工具: JSLint和JSHint: jsLint是由Douglas Crockford创建的.这是一个通用的javascript代码质量检测工具,最开始JSLin ...

  4. 柔性数组-读《深度探索C++对象模型》有感 (转载)

    最近在看<深度探索C++对象模型>,对于Struct的用法中,发现有一些地方值得我们借鉴的地方,特此和大家分享一下,此间内容包含了网上搜集的一些资料,同时感谢提供这些信息的作者. 原文如下 ...

  5. 腾讯QQ、新浪微博等知名社交网络图标素材

    腾讯QQ.新浪微博.QQ空间.淘宝.知乎.支付宝.大众点评等设计网络图标矢量素材. 注意是矢量素材,AI格式.放大缩小不变形. 社交网络图标几乎在网页制作中都会用到.一个好看的图标,完全可以提升整体网 ...

  6. Web Services 介绍

    Web Services 介绍 Web Services 是建立可交互操作的分布式应用程序的新平台 ; Web Services 平台是一套标准,它定义了应用程序如何在 Web 上进行交互操作 , 你 ...

  7. Linux的时钟管理

    本文转自博客园zhenwenxian的Linux时间管理,很详细,写得很不错,对初学者还是有很大帮助的. 时间管理在内核中占有非常重要的地位.相对于事件驱动,内核中有大量的函数都是基于时间驱动的.内核 ...

  8. 转:更改 centos yum 源

    centos下可以通过yum很方便快捷的安装所需的软件和库,如果yum的源不好,安装速度会非常慢,centos默认官方源似乎都是国外的,所以速度无法保证,我一直使用163的源,感觉速度不错.下面就说说 ...

  9. GNU Make chapter 2 —— Makefile 介绍

    Makefile是由一系列的rule规则组成,这些rule都遵循以下形式: target ... : prerequisites ... command ... ... target(目标) 一般来说 ...

  10. ISO14443-4块传输协议的实现

    ISO1444-3块传输协议主要用于应用数据的传输,其实现如下: unsigned char Apdu(unsigned char *comm,unsigned short len,unsigned ...