前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

  数据类型有 number、boolean、string、object、null、undefined;

undefined 和 null

  undefined 字面理解为未定义(但是已经声明了);

  undefined 和 null 都是没找到的意思,undefined 是没找到原生数据,null 是没找到对象;

  可以将变量的值设置为 null 来清空数据;

  字面解释很无力啊,看代码吧;

        <script type="text/javascript">
var a;//a已经声明了,但没有值,是空的;
console.log(a);//undefined //b没有声明
// console.log(b);//b is not defined;这一行报错,后面代码无法运行,故注释掉 var c;//c已经声明了,但没有值,是空的;
c = "rose";//c赋值"rose";
console.log(c);//rose var d = 'jack';//d声明并且赋值"jack";
var d;//再次声明d,但没有进行赋值,d的值不会发生改变;
console.log(d);//jack var d = null; //清空d值;
console.log(d);//null var e = {name:'lucy',age:'girl'}
console.log(e.sex);//undefined var f = document.getElementsByTagName('div');
console.log(f);//[],返回的是一个对象集合,以数组展示 var g = document.getElementsByTagName('div')[0];
console.log(g);//undefined,数组是原生数据,所以没找到的话,返回undefined var h = document.getElementById('test');
console.log(h);//null,对象没找到,返回null console.log(typeof undefined) ;//undefined
console.log(typeof null) ;//object
console.log(undefined === null);//false
console.log(undefined == null);//true
</script>

number

  var a = 075;   8 进制数字必须以 0 为前导;

  var a = 0xA; 16 进制数字必须以 0x 为前导;

  NaN,非法运算,(not a number);

  判断是不是一个数字,isNaN();

        <script type="text/javascript">
console.log(isNaN(123)); //false
console.log(isNaN('aaa')); //true
console.log(isNaN(-567)); //false
console.log(isNaN(56.7)); //false console.log(isNaN(aaa123)); //aaa123 is not defined
console.log(isNaN(bbb)); //bbb is not defined // console.log(isNaN(-56a7)); //missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
</script>

  数值转换,parseInt 把其他类型转换成整数(忽略小数点以后的数字);parseFloat 是把其他类型转换为浮点数(第二个小数点无效);

  parseInt 会忽略前面的空格(后面的空格不会忽略);

  • 如果第一个不是数字的字符,则返回 NaN;
  • 如果第一个字符是数值(非0),则会继续往后解析,直到解析完数据或者遇到非数值字符;
  • 如果第一个字符是0,则又分为数值转换数值和字符串转换数值,请看下面代码中最后几行;
  • parseInt 可以转换二进制、八进制、16进制,最好传入第二个基数当做基值;
        <script type="text/javascript">
console.log(parseInt(123.4));//123
console.log(parseInt(-45.6));//-45
console.log(parseInt('-34.567.89'));//-34
console.log(parseInt('567.89'));//567
console.log(parseInt('567.89.10'));//5670
console.log(parseInt('910abc456'));//910
console.log(parseInt('9 10abc456'));//9
console.log(parseInt('abc456'));//NaN
console.log(parseInt(''));//NaN
console.log(parseInt(12+'0.3.4'));//120
console.log(parseInt('0abc.567.89'));//0
console.log(parseInt('0123.1abc456'));//123
console.log(parseInt(0.123));//0
console.log(parseInt(0+'abc'));//0
console.log(parseInt(0123));//83;转换成8进制了
console.log(parseInt(1011101,2));//83;转换成8进制了
console.log(parseInt(0123,16));//131;转换成16进制了
console.log(parseInt('0123',16));//291;转换成16进制了
// console.log(parseInt(0abc));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseInt(0'abc'));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseInt(012.3));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseInt(12'3.4'));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
</script>

  parseFloat 会忽略前面的空格(后面的空格不会忽略),

  • 如果第一个不是数字的字符,则返回 NaN;
  • 如果第一个字符是数值(非0),则会继续往后解析,知道解析完数据或者遇到无效的浮点数为止(第一个小数点有效,第二个小数点无效);
  • 如果第一个字符是0,则又分为数值转换数值和字符串转换数值,请看下面代码中最后几行;
  • parseFloat 只能解析十进制数;
        <script type="text/javascript">
console.log(parseFloat(123.4));//123.4
console.log(parseFloat(-45.6));//-45.6
console.log(parseFloat('-34.567.89'));//-34.567
console.log(parseFloat('567.89'));//567.89
console.log(parseFloat('567.89.10'));//567.89
console.log(parseFloat('910abc456'));//910
console.log(parseFloat('9. 12abc456'));//9
console.log(parseFloat('9.1 2abc456'));//9.1
console.log(parseFloat('abc456.123'));//NaN
console.log(parseFloat(''));//NaN
console.log(parseFloat(12+'0.3.4'));//120.3
console.log(parseFloat('0.23abc.567.89'));//0.23
console.log(parseFloat('00123.1abc456'));//123.1
console.log(parseFloat(0.123));//0.123
console.log(parseFloat(0+'012.34abc'));//12.34
// console.log(parseFloat(0abc));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseFloat(0'abc'));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseFloat(00.123));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseFloat(012.3));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
// console.log(parseFloat(12'3.4'));//missing ) after argument list,这一行要注释掉,不然之前代码没法运行,
</script>
  • numberObject.toFixed(num); 保留 num 位小数并四舍五入;
  • 返回字符串
  • num 在 [0,20] 之间;
        <script type="text/javascript">
var num = 3.14159265358;
console.log(num.toFixed(0))//3
console.log(num.toFixed(1))//3.1
console.log(num.toFixed(3))//3.142
</script>

object

  JavaScript 中的所有事物都可以理解为对象:字符串、数值、数组、函数...

  对象是拥有属性和方法的数据;

  对象是变量的容器;

  对象的方法定义了一个函数,并作为对象的属性存储。对象方法通过添加 () 调用 (作为一个函数)。

  访问对象的属性有两种方法 obj.property 或 obj["property"];

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="test1"></div>
<div class="test2"></div> <script type="text/javascript">
var person = {
firstName:'Zhang',
lastName:'San',
fullName:function (){
return this.firstName + '' +this.lastName;
}
}
var test1 = document.getElementsByClassName('test1')[0];
var test2 = document.getElementsByClassName('test2')[0];
test1.innerHTML = '函数没加括号,输出函数表达式:' + person.fullName;
test2.innerHTML = '函数加括号了,输出函数返回结果:' + person.fullName();
</script>
</body>
</html>

jacascript 基础数据类型(一)的更多相关文章

  1. [.net 面向对象编程基础] (3) 基础中的基础——数据类型

    [.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...

  2. TypeScript学习指南第一章--基础数据类型(Basic Types)

    基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...

  3. 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张

    自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var  定义变量,let定义常量. 比如 ...

  4. 二、Windows基础数据类型

    六.Windows Data Types 简介: 6.1.这些数据类型都是C语言数据类型的再次的进行包装. 6.2.因为考虑到如果使用的是C中的基础数据类型可能无法表示,想表示的精准的含义. 6.3. ...

  5. java基础数据类型包装类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  6. java.lang基础数据类型boolean、char、byte、short、int、long、float、double (JDK1.8)

    java.lang.Boolean public static int hashCode(boolean value) { return value ? 1231 : 1237; } JDK 1.8新 ...

  7. Python基础数据类型之列表和元组

    一.列表   list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...

  8. Python基础数据类型之字典

      基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...

  9. Python基础数据类型之集合以及其他和深浅copy

    一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...

随机推荐

  1. 为什么ROC曲线不受样本不均衡问题的影响

    转自:https://blog.csdn.net/songyunli1111/article/details/82285266 在对分类模型的评价标准中,除了常用的错误率,精确率,召回率和F1度量外, ...

  2. Linux中系统状态检测命令

    1.ifconfig用于获取网卡配置与网络状态等信息,格式为:ifconfig [网络设备] [参数] 2.uname命令用于查看系统内核版本等信息,格式为:uname [-a] 查看系统的内核名称. ...

  3. hwclock和date源码分析

    一. hwclock 1.1 hwclock源码在哪里? util-linux 或者busybox 1.2 获取源码 git clone https://github.com/karelzak/uti ...

  4. VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法

    昨天下载安装 .NET Framework 3.5 SP1解决了VMware vSphere Client安装问题后,今天需要远程连接服务器搭建一台虚拟机. 根据指引步骤进行下一步.下一步的操作完成后 ...

  5. angular 中的dom操作(原生JS)

    <h2>这是一个home组件--DOM操作演示</h2> <div id="box"> this is box </div> < ...

  6. SurfaceView双缓冲技术引入

    package com.loaderman.customviewdemo; import android.content.Context; import android.graphics.Canvas ...

  7. 爆库记录(X-Forwarded-For注入漏洞实战 记录)

    环境位置: https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe 参考: http://www.fr ...

  8. PAT 甲级 1048 Find Coins (25 分)(较简单,开个数组记录一下即可)

    1048 Find Coins (25 分)   Eva loves to collect coins from all over the universe, including some other ...

  9. Apache配置优化之开启KeepAlive

    在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...

  10. SSRS 2016 Forms Authentication

    SSRS 2016 comes with completely new report manager web interface and implementing form authenticatio ...