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. .net别样外观控件包DotNetBar

    内容介绍:http://www.componentcn.com/?thread-6423-1.html BubbleBar应用: BubbleBar, DevComponents.    Namesp ...

  2. python使用PIL压缩图片

    import Image import os import os.path import sys path = sys.argv[1] small_path = (path[:-1] if path[ ...

  3. C# ORM—Entity Framework 之Database first(数据库优先)&Model First(模型优先)(一)

    一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原 ...

  4. UVA - 1614 Hell on the Market(贪心)

    Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Descript ...

  5. iPhone 被同步到 Mac上后 如果不希望更新到Mac上在哪里删除?

    前往文件夹   /Users/用户名/Library/Application Support/MobileSync  直接删除  就行了(同时要倾倒废纸篓). 目前iPhone链接Mac 后  不让 ...

  6. FileUpload 改变控件显示的文字

    浏览

  7. 用extern关键字使程序更加清晰

    一.基础研究 之前基于tcc.tlink实现一个新的编译连接工具cc.exe,用到的文件有cs.lib.c0s.obj.main.obj,其中main.obj是我们自己加入的文件,它可以实现开始显示彩 ...

  8. 深入JS系列学习4

    深入JS系列学习4 Javascript 装载和执行 明白了JS的装载和执行,没有给出很好的解决方案,在IE下可用defer属性: 浏览器对于Javascript的运行有两大特性:1)载入后马上执行, ...

  9. SqlServer新建视图

    一.使用SQL Server 2005数据库管理系统创建视图 1. 启动SQL Server 2005. 2. 在“对象资源管理器”窗口中找到Student数据库,打开Student文件夹,在“视图” ...

  10. 发布WebService到IIS和调用WebService

    一:在项目上右键单击,选择发布,如图 二:可以单击重命名,自定义网站的名字,发布方式为:文件系统,目标路径为要发布的文件的位置,它需要放到IIS的目录下面的 三:打开IIS管理器,右键单击网站,添加网 ...