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. centos账户管理命令(root权限)

    cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1        查看所有用户 userdel -r 用户名           -删除用户 ...

  2. [转]JavaScript函数和数组总结

    转自:http://www.uml.org.cn/AJAX/201307264.asp 写的不错,对我有很多帮助,最近准备全面的学习研究一下ES5,先转载一下这篇文章. JavaScript函数 1. ...

  3. jQuery delegate方法实现Ajax请求绑定事件不丢失

    给元素绑定click事件后 ,遇到一个问题:当执行一些ajax请求,再次调用此页面,里面的这个click事件就失效了 比如说:我的分页是一个ajax请求 但我点下一页时 后生成的元素a就没有了clic ...

  4. HDU 2955(01背包问题)

    M - 01背包 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Descript ...

  5. Codeforces 138D World of Darkraft

    有一个n*m 的棋盘,每个点上标记了L,R,X 中的一个每次能选择一个没有被攻击过的点(i,j),从这个点开始发射线,射线形状为:1. 若字符是 L,向左下角和右上角发,遇到被攻击过的点就停下来2. ...

  6. laravel框架——表单验证

    创建路由 Route::get('test','VerController@index'); Route::post('tosubmit','VerController@tosubmit'); 在控制 ...

  7. GIve Me A Welcome Hug!

    类似于初来乍到,和大家打个招呼,并矫情的希望路人也能回赠我一个welcome hug. 到了这种园子那一定是做CS相关的了,一直以为如果能够坚持写技术博客,那一定会对自己的内力有十足的提升.借用一位前 ...

  8. 转:7个鲜为人知却超实用的PHP函数

    PHP have lots of built-in functions, and most developers know many of them. But a few functions are ...

  9. 海园帮忙写的JQUERY功能,实现了我们想要的,我觉得有点屌哟~~

    需求就是为了可以在WEB在线更新代码期间,如果执行时间较长的话, 就在提交按钮之后,按钮变为灰色. 同时,一个DIV里每隔两秒刷新输出. 当更新完成之后(检测文档中的关键字串),按钮变为可提交状态~~ ...

  10. 【HDOJ】1107 武林

    简单模拟,题目数据太弱太弱了. /* 1107 */ #include <iostream> #include <cstdio> #include <cstring> ...