1、介绍js的基本数据类型  

Undefined、Null、Boolean、Number、String

(1) Undefined和Undifined区别

null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

  undefined:

  (1)变量被声明了,但没有赋值时,就等于undefined。

  (2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

  (3)对象没有赋值的属性,该属性的值为undefined。

  (4)函数没有返回值时,默认返回undefined。

  null:

  (1) 作为函数的参数,表示该函数的参数不是对象。

  (2) 作为对象原型链的终点。

(2)数据类型之间的转换

typeof查看,返回六个字符串
                            number string boolean object undefined function
         (3)强制转字符串
                  String(变量) 可以转任何数据类型
                  变量.toString(); 除了null undefined,其它均可
         (4)强制转数字
                    Nunber(); 可以转任何数据类型,只有能转成功或不能转成功之分。
                    转成功就是数字,转不成功就是NaN
                    parseInt() 转整数
                    parseFloat() 转小数
                    如果转不成功,则返回NaN
        (5)隐式类型转换
                            + - * / % ++ --
         (6)NaN
                  1、NaN同谁都不相等,包括它自己
                  2、任何涉及NaN的操作返回的都是NaN
                  3、typeof查看返回的是number

(7)isNaN
                      不喜欢数值(包括字符串的数字),但喜欢数值类型的NaN
                      喜欢的是非数字

2复杂数据类类       

复杂、引用数据类型(object

数据封装类对象:Object、Array、Boolean、Number 和 String

  其他对象:Function、Arguments、Math、Date、RegExp、Error

获取时间

 // 返回电脑操作系统的时间,时间对象,
//这个对象下面有很多的属性,包括年月日星期时分秒
var date = new Date();
var year = date.getFullYear(); // 年
var month = date.getMonth() + 1; // 月:0--11
var d = date.getDate(); // 日
var week = date.getDay(); // 星期 0--6(日一二三四五六)
var h = date.getHours(); // 时
var m = date.getMinutes(); // 分
var s = date.getSeconds(); // 秒

new操作符

(1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

   (2)属性和方法被加入到 this 引用的对象中。

   (3)新创建的对象由 this 所引用,并且最后隐式的返回 this 。

3 全等判定:

相等,值是否相等,会发生类型转换

全等,值和类型都要相等才相等,不会发生类型转换
        console.log(1 == '1'); // true
console.log(true == 1); // true
console.log(null == undefined); // true,除此之外,它们不能和其它的值进行比较 // === 全等,值和类型都要相等才相等,不会发生类型转换
console.log(1 === '1'); // false
console.log(true === 1); // false
console.log(null === undefined); // false console.log(null !== undefined); // true
console.log(null != undefined); // false

3、this对象的理解 

this总是指向函数的直接调用者(而非间接调用者);

  如果有new关键字,this指向new出来的那个对象;

  在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window。

1 闭包:函数里面套函数,被嵌套函数就叫闭包。

闭包特点:

function init() {
var name = "Mozilla"; // name 是一个被 init 创建的局部变量
function displayName() { // displayName() 是内部函数,一个闭包
alert(name); // 使用了父函数中声明的变量
}
displayName();
}
init();

  

Javascript学习一数据类型的更多相关文章

  1. JavaScript学习笔记——数据类型强制转换和隐式转换

    javascript数据类型强制转换 一.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 B.如果是数字,转换成为本身.将无意义的后导 ...

  2. JavaScript学习——判断数据类型总结(转)

    一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) ...

  3. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  4. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

  5. JavaScript:学习笔记(2)——基本概念与数据类型

    JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...

  6. JavaScript学习总结(2)——JavaScript数据类型判断

    最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包括整数. ...

  7. JavaScript学习笔记——变量和数据类型

    一.javascript命名规范 1. 严格区分大小写 2. 变量的命名必须以字母或 _或 $开头,余下的部分可以是任意的字母,数字,或者是 _或者是$ 3.不能用关键字或者是保留字命名. 4.jav ...

  8. JavaScript学习11 数组排序实例

    JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...

  9. JavaScript学习04 对象

    JavaScript学习04 对象 默认对象 日期对象Date, 格式:日期对象名称=new Date([日期参数]) 日期参数: 1.省略(最常用): 2.英文-数值格式:月 日,公元年 [时:分: ...

随机推荐

  1. 人脸识别-arcface损失函数

    参考博客: L-margin softmax loss:https://blog.csdn.net/u014380165/article/details/76864572 A-softmax loss ...

  2. linux 用户密码过期时间

    /etc/login.defs    全局配置文件,即当新建用户时的默认设置 PASS_MIN_DAYS  5    #最近一次密码更新的日期+0 ,即允许用户更改自己的密码的日期 PASS_MAX_ ...

  3. linux软件管理之python包管理

    Python包管理 ====================================================================================python ...

  4. iview table 实现在数据中自定义标识

    做了一个商旅订票的项目,在详情中有一个因公超标在表格中用一个“超”字显示的需求.后台框架用的iview+vue,也就是在iview Table中改变.在iview的框架中改变东西首先要想到的是ivie ...

  5. Django-models & QuerySet API

    django中配置mysql数据库 1,首先配置settings.py. 一是在INSTALLED_APPS里面加入app名称: 二是配置数据库相关信息 INSTALLED_APPS = [ 'dja ...

  6. Arthur and Walls CodeForces - 525D (bfs)

    大意: 给定格点图, 每个'.'的连通块会扩散为矩形, 求最后图案. 一开始想得是直接并查集合并然后差分, 但实际上是不对的, 这个数据就可以hack掉. 3 3 **. .** ... 正解是bfs ...

  7. Educational Codeforces Round 41 (Rated for Div. 2)F. k-substrings

    题意比较麻烦略 题解:枚举前缀的中点,二分最远能扩展的地方,lcp来check,然后线段树维护每个点最远被覆盖的地方,然后查询线段树即可 //#pragma GCC optimize(2) //#pr ...

  8. jquery源码解读

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐进增强)优雅的处理能 ...

  9. PAT 1152 Google Recruitment

    1152 Google Recruitment (20 分)   In July 2004, Google posted on a giant billboard along Highway 101 ...

  10. java Arrays常用方法

    1. 简介 Arrays类包含用于操作数组的各种方法(例如排序和搜索).此类还包含一个静态工厂,允许将数组视为列表. 如果指定的数组引用为null,则此类中的方法都抛出NullPointerExcep ...