<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title> <script>
/*
ECMAScript,标准、核心 :必须写var ,if后面跟小括号不是大括号,规定数据类型,
HTML 标签类型:block、inline、inline-block、table……
JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
typeof 判断数据类型
*/ var i = 100;
alert( typeof i ); // number var s = ' miaov ';
alert( typeof s ); // string
alert( s.length ); //
alert( s.charAt(3) ); // 'a' var b = true; // 布尔值:true false
alert( typeof b ); // boolean
if ( true ) {}
for ( ; false ; ) { } var fn = function (){ alert(1); };
function fn1(){
alert(2);
}
alert( fn1 );//弹出函数体
fn1(); var obj = document; //地址传递
alert( typeof obj ); // object 物体、东西、对象
obj.abc = 123;
obj.onOff = true;
obj.fn1 = function (){ alert(1); };
alert( document.onOff ); //
obj.fn1();//函数调用 var arr = [ 1,2,3,4 ];
alert( arr.length );
arr[2] = 345;
alert( arr );
arr.push( 5,6,7 );//加入多个
alert( arr );
alert( typeof arr ); // object
arr.abc = 999;//数组是object,数组也可以加属性
arr.fn1 = function (){ alert('ok'); };
alert( arr.abc );//
arr.fn1();//函数调用 var json = { name:'miaov', age:5 };
alert( json.name + '今年' + json.age + '岁了' );
alert( typeof json );//object var n = null;
alert( typeof n );//object var u;
alert( typeof u ); // undefined 未定义
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
//Number和parseInt可以处理小部分非数字,非数字太多就不行了。
<script>
var a = '+100'; //正100
alert( a+100 ); // '100100'
alert( Number(a) ); //
var a1 = ' ';
alert( Number(a1) ); //
var a2 = true;
alert( Number(a2) ); // true-1 false-0
var a3 = [ 1 ];
alert( Number(a3) ); // 1 0
var a3 = [ ];
alert( Number(a3) ); //
var a4 = null;
alert( Number(a4) ); // var b = ' 200px';
alert( Number(b) );//NaN
alert( parseInt(b) );//200 parseInt(b,10):按照10进制转换
alert( parseInt('200px667677') );//200,只转前面的,
alert( parseInt('+200px667677') );//200, var c = '12.34元';
alert( parseInt(c) );//
alert( parseFloat(c) );//12.34 var num = '200.45';
if( parseInt(num) == parseFloat(num) ){
alert( num + '是整数' );
}else{
alert( num + '是小数' );
} var json = {};
alert( Number(json) ); var u;
alert( Number(u) ); var a3 = function (){ alert(1); };
alert( Number(a3) ); // NaN
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title> <script> /*
显式类型转换(强制类型转换):
Number()
parseInt()
parseFloat() 隐式类型转换:
+ 200 + '3' 变成字符串
- * / % '200' - 3 变成数字197
++ -- var a='10';a--;alert(a) 9 变成数字
> < alert('10'>9) true 转成10>9, alert('10'>'9') false 字符串的比较
! 取反 把右边的数据类型转成布尔值
==
*/ alert( Number('……') ); NaN
alert( '……'-9 ); NaN alert( '2' == 2 );//true
alert( '2' === 2 );//false
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
// JS中的数据类型:数字(NaN)、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
var a = Number('abc');
alert( a ); // NaN:not a number 不是个 数字 的 数字类型
alert( typeof (a) ); // number
// 一旦写程序中出现:NaN 肯定进行了非法的运算操作
// alert( '200px' - 100 );
// NaN 是 false
if( a ){
alert( '真' );
}else{
alert( '假' );
}
var abc = [];
alert( abc === abc ); true
// NaN 与自己都不相等!!
alert( a === a ); // false
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title> <script>
isNaN();// 判断是不是数字,不喜欢数字,不是数字true,是数字false
// 判断某些值是不是数字
// 不喜欢数字、讨厌数字
alert( isNaN( function(){ alert(1) } ) );//true
alert( isNaN('250') );//false,调用Number() '250' => 250 => false
alert( isNaN( [] ) );//false,调用Number()=>0
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
window.onload = function (){
var aInp = document.getElementsByTagName('input');
var str = '';
aInp[1].onclick = function (){
str = aInp[0].value;// '123'
// HTML 中拿到的内容,类型都是字符串,即使输入123,也是字符串
alert( typeof str );//string
if( isNaN(str) ){//调用Number('123')=>123,是数字。
alert( str + '不是数字' );
}else{
alert( str + '是数字' );
}
};
};
</script>
</head>
<body>
<input type="text" />
<input type="button" value="判断输入值是不是数字" />
</body>
</html>

js---12数据类型,数据类型转换,NaN,的更多相关文章

  1. js | JavaScript中数据类型转换总结

    转载 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = “123”; a = Number(a); ...

  2. 【SpringMVC】SpringMVC系列12之数据类型转换、格式化、校验

      12.数据类型转换.格式化.校验 12.1.数据绑定流程     Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFacto ...

  3. ECMAScript1.1 js书写位置 | 声明变量 | 基本数据类型 | 数据类型转换 | 操作符 | 布尔类型的隐式转换

    js书写位置 由于在写css样式时使用的时双引号,所以我们在写js代码时建议使用单引号(‘’)! 行内式 <input type="button" value="点 ...

  4. JS 里的数据类型转换

    JS的数据类型转换 一.js中的数据类型Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 1.Number Number数据类型指 ...

  5. js注释和数据类型转换

    单行注释 用来描述下面一个或多行代码的作用 // 这是一个变量var name = 'hm'; 多行注释 用来注释多条代码 /*var age = 18;var name = 'zs';console ...

  6. 2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)

    1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对 ...

  7. java入门---基本数据类型之引用数据类型&数据类型转换

        接着上一篇文章来,这次就先看看什么是引用数据类型?首先得满足以下条件: 在Java中,引用类型的变量非常类似于C/C++的指针.引用类型指向一个对象,指向对象的变量是引用变量.这些变量在声明时 ...

  8. js之数据类型及类型转换

    一.数据类型 js中的数据类型:      5种基础类型:Undefined,Null,Boolean,Number,String      1种复合类型:Object(对象包括数组,函数等)   1 ...

  9. 剑指前端(前端入门笔记系列)—— JS基本数据类型及其类型转换

    基本数据类型 ECMAScript中有5中简单数据类型性(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——Object,Obje ...

随机推荐

  1. 43.$http

    转自:https://www.cnblogs.com/best/tag/Angular/ $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据. 使用格式: // 简单的 G ...

  2. String build-in function - len

    len is a build-in function that returns the numbers of characters in a string: Since we started coun ...

  3. 1.C语言指针学习之外挂篇

    学习了c语言的指针,那么指针能做什么呢,首先,他可以写外挂 首先我们来编写一个dll,挂载到植物大战僵尸上,记住是dll,因为如果你创建一个应用程序,该应用程序是不能操作其他程序的地址的. 第一步,打 ...

  4. SharePoint InfoPath 保存无法发布问题

    设计完表单以后提示以下错误 错误描述 InfoPath无法保存下列表单:******* 此文档库已被重命名或删除,或者网络问题导致文件无法保存.如果此问题持续存在,请于网络管理员联系. 可参考网站 & ...

  5. 程序Yuan,eclipse你,会用吗?

    程序Yuan,用eclipse敲代码时还在使用alt+/吗,还在为格式化代码ctrl+shift+f快捷键不快捷发愁吗? 如果是,那么这篇就适合你,请继续往下看. ①设置代码提示快捷键         ...

  6. PostgreSQL Replication之第七章 理解Linux高可用(6)

    7.6 PostgreSQL和高可用性 数据库是我们日常数字生活的一部分,并期望它们快速工作. 您浏览网上论坛吗?那个帖子在数据库中.您看医生吗?您的医疗记录在数据库中.您在网上购物吗?那个货物,您的 ...

  7. php函数: call_user_func()和call_user_func_array() 使用详解

    call_user_func 该函数允许直接调用自己写的函数,可以直接传入一些参数. 使用方法1:给自己写的函数传入参数,一个特别的调用函数的方法. <?php funciotn test1($ ...

  8. h5调用底层接口的一些知识

    之前接触过这方面的知识,一直想写一些关于代码的文字,但考虑到浪费时间,又不具备大神的实力,也不想去把别人的代码照搬过来,所以一直都是空白着的,今天敲代码的时候,有了一个比较好的想法,第一,定位在学习这 ...

  9. CodeForces 363B Fence

    Fence Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. Original ...

  10. java 究竟老年代和年轻代的比例为多大合适呢?

    眼下我还没有这方面过多的经验,和切身体会 只是以我眼下的水平看来,年轻代不宜大,假设年轻代大会导致转为老年代的时候,老年代撑不下.导致full gc.回收停顿时间过长