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. fail to resolve com.umeng.analytics:analytics:latest.integration

    今天友盟接入的时候,他娘的居然提示我这个友盟jar包拉不下来 明明之前还好好的,而且别的什么东西都没问题,就这个有问题 原来使用的是 compile "com.umeng.analytics ...

  2. 8.3 GOF设计模式二: 适配器模式 Adapter

    GOF设计模式二: 适配器模式 Adapter  为中国市场生产的电器,到了美国,需要有一个转接器才能使用墙上的插座,这个转接 器的功能.原理?复习单实例模式  SingleTon的三个关键点  ...

  3. java 分布式id生成算法

    import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.net.NetworkI ...

  4. iOS调试踩过的坑 以及instruments使用指南

    1. 低版本的XCode工程中包含的lib,在高版本的XCode中会编译错误,提示找不到库,故需要恢复libC++库到原位置上,参考 https://github.com/devdawei/libst ...

  5. C# 3.0 / C# 3.5 对象集合初始化器、匿名类

    对象集合初始化器 在 .NET 2.0 中构造一个对象的方法一是提供一个重载的构造函数,二是用默认的构造函数生成一个对象,然后对其属性进行赋值. 在 .NET 3.5/C# 3.0 中,我们有一种更好 ...

  6. 如何正确可视化RAW(ARW,DNG,raw等格式)图像?

    为了正确可视化RAW图像,需要做好:白平衡.提亮以及色彩映射. import numpy as np import struct from PIL import Image import rawpy ...

  7. DNS推荐

    在设置DNS地址之前我们需要知道DNS地址是什么? DNS地址是一个域名服务器地址,它可以把用户的网站地址解析成IP地址.如果这个服务器出现问题,可能就上不了网了咯. 查看DNS的方法如下: WIN+ ...

  8. 后缀html和htm文件的区别

    后缀html和htm文件的区别: (1)如果一个网站有index.html和index.htm,默认情况下,优先访问.html. (2).htm后缀是为了兼容以前的dos系统8.3的命名规范

  9. springboot国际化

    Session方式的国际化/** * @descripte 请求中如果有{@Param lang},则按照lang的格式国际化 * @descripte 请求中如果无{@Param lang},但se ...

  10. day24_python_1124

    1  复习 2  TCP-UDP协议 3  tcp协议的socket 4  复杂tcp协议的socket 5  带退出的聊天程序 6  时间练习demo 7  粘包现象 1.复习 # 网络编程概念# ...