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

  数据类型有 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. git submodule 如何push代码

    某git项目关联了一个submodule 如何更新该项目下的submodule https://stackoverflow.com/questions/5814319/git-submodule-pu ...

  2. T-MAX组--项目冲刺(第一天)

    THE FIRST DAY 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 T-MAX组--项目冲刺(第一天) 团队名称 T-MA ...

  3. mac电脑如何快速显示桌面及切换应用

    使用mac电脑时,我们习惯打开很多应用,文档等等.如果打开应用非常多,需要操作桌面,却不知如何快速返回桌面和切换应用时,操作就非常不便了,下面简单介绍mac电脑系统如何快速显示桌面及切换应用? 工具/ ...

  4. windows开机执行bat

    一.以windows下备份sql数据库为例,开机自动执行.bat脚本        1.新建dump.bat文件,文件中的代码如下:                set YYYYmmdd=%date ...

  5. 二维背包---P1855 榨取kkksc03

    P1855 榨取kkksc03 题解 二维背包板子题 f[ i ][ j ] 前 n 个物品,花费金钱不超过 i ,花费时间不超过 j 的最大价值 如果每个物品只能选一次,那么就相当于在01背包上多加 ...

  6. Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:]

    最近在项目中遇到了 Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] 这个 ...

  7. SQL-W3School-函数:SQL GROUP BY 语句

    ylbtech-SQL-W3School-函数:SQL GROUP BY 语句 1.返回顶部 1. 合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROU ...

  8. Tomcat重启Shell脚本

    --测试通过 vim restart_tomcat.sh#!/bin/bash# Filename: restart_tomcat.sh# Description: Restart tomcat# D ...

  9. 41 Flutter 仿京东商城项目签名验证 增加收货地址、显示收货地址 事件广播

    加群452892873 下载对应41课文件,运行方法,建好项目,直接替换lib目录 AddressAdd.dart import 'package:dio/dio.dart'; import 'pac ...

  10. spring boot配置文件、日志配置和代码的多环境配置

    一般项目都逃不掉开发.测试和生产这三套环境,如果每次给这三套环境打包都去改配置,累死不说,还一不留心就出差错.倒不如每套环境各给一套配置来的轻松.上代码: 1.通用配置放在application.pr ...