JavaScript的类型转换( 本贴来自网易前端微专业的个人学习笔记 )

小编的话:如果真正要自己写好JS,首先明白JS类型转换。首先贴出来JS对象的三大分类。

1.浏览器扩展对象:ActiveXObject,XML,Debug,Script,VBArray...

2.宿主对象:window,document,navigator

3.原生对象:
  (1).构造函数:Boolean,String,Nunber,Object,Function,Array,Date,RegExp,Error
  (2).对象:Math,JSON,全局对象,arguments

一、JS隐式类型转换

  JS是一种非常灵活的弱类型语言,所以会自动的进行类型转换。我所记录的隐式类型转换通常分为几种场景:

    (1). 点字符直接量隐式转为对象。example: var str = ‘abc‘; str.indexOf();

    (2). if()表达式中会进行隐式转换 example: var str = ‘‘; if( Boolean( str ) ){... }; 会对字符串进行隐式转换。

    (3). ==,+,-,也会进行隐式转换 example: var str = ‘abc‘;var num = 123; alert( str+num );

二、四种方法的类型识别(typeof、instanceof、Object.prototype.toString.call、constructor)

  

写一个简单的对传入参数的JS类型的判断区分

/*
* 输入格式:
* ‘2015-08-05‘
* 1438744815232
* {y:2015,m:8,d:5}
* [2015,8,5]
* 返回格式:Date
*/
function toDate( param ){
 if( typeof(param) == ‘string‘ || typeof(param) == ‘number‘ ){
  return new Date(param);
 }
 if(param instanceof Array){
  var date = new Date();
  date.setYear(param[0]);
  date.setMonth(param[1] - 1);
  date.setDate(param[2]);
  return date;
 }
 if(typeof(param) == ‘object‘){
  var date = new Date();
  date.setYear(param.y);
  date.setMonth(param.m-1);
  date.setDate(param.d);
  return date;
 }
 
 return -1;
}

时间: 2024-10-13 19:46:27

JavaScript的类型转换( 本贴来自网易前端微专业的个人学习笔记 )的相关文章

网易前端微专业,JavaScript程序设计基础篇:数组

不论什么一种语言数组都是比較重要的,其作为一种基础对象应用非常多,如Java你肯定少不了集合(List,Map)这些.因此本篇主要记录JS的数组使用和经常用法.要点例如以下: 1,数组创建 两种方式: var stu = new Array(); var stu1 = []; 这就和定义对象一样: var cat = new Object(); var cat1 = {}; 推荐用后者,比較简洁.如: var score = [1, 2, 3]; 数组里的东西能够是不同类型的,数组里面能够是基础

网易前端微专业,JavaScript程序设计基础篇:函数

JS里函数关键字就是function,注意事项如下: function add(num1, num2){    return num1 + num2;} 1,如果传入var sum = add(1, 6, 7); 则只会取1和6,最后一个多余的参数忽略. 2,如果只传入add(1),则会得到NaN,原因是函数的形参num2被当作undefined 3,函数的内部有个arguments数组,用于储存传进来的参数列表,如下求的是所有输入参数的和. function add(a, b){ var su

网易前端微专业-页面制作-讨论题汇总

1. JPG.PNG8.PNG24这些格式分别适合保存什么特点的图片? 1)JPG: 适合保存色彩丰富且无透明度要求的图片,一般为一些网页的内容性图片. 2)PNG8:图片色彩不太丰富,无论有无透明度要求的图片,一般为一些网页内修饰性图片. 3)PNG24: 有半透明要求的图片,一般为一些网页内修饰性图片. 2. 图片分类合并有哪些方式? 1)把属于同一个模块的图片进行合并 2)把大小相近的图片进行合并 3)把色彩相近的图片进行合并 4)综合以上所有方式对图片进行合并 合并推荐:1)同一页面图片

web前端之网站seo优化学习笔记

这两天因为一些公司业务上的原因,学习了一些关于网站seo优化的方法和技巧. 之前在码代码的过程中其实还没有考虑过对于网站导流和优化网站关键字搜索排名的问题. 在了解了一些这方面的资料之后,觉得这是一个很有意思的领域.把这几天的学习笔记记下来. 个人理解是在一个项目基本上完成主要需求后需要运营需求加入的时候,此时seo优化就非常重要.所以在网站开发的最开始有经验的前端coder们在搭架子的时候就应该提前把以后运营汪们可能会提出的运营需求,特别是一些针对影响关键字排名和与搜索引擎相关的部分就可以考虑

慕课网-前端JavaScrpt基础面试技巧-学习笔记

章节目录: JS基础知识(上)--讲解 JS 基础语法相关的面试题,分析原理以及解答方法.这一章节讲解了基础知识的第一部分:变量的类型和计算.以及JS "三座大山" -- 原型.作用域和异步中的第一座大山:原型. JS基础知识(中)--讲解 JS 基础语法相关的面试题,分析原理以及解答方法.这一章节讲解了JS "三座大山" -- 原型.作用域. JS基础知识(下)--讲解 JS 基础语法相关的面试题,分析原理以及解答方法.这一章节讲解了基础知识的第三部分:JS &q

python之 前端HTML/CSS基础知识学习笔记

1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </html> html是根标签 head定义文档头部,包含: title, script, style, link, meta body是网页主要内容,包含:h1,h2-h6, p, a, img 2. 认识head标签: <head> <title>...</title>

关于前端的photoshop初探的学习笔记

写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来.温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ps简介可以用于合成.可以三维adobe bridge图像浏览器 可以直接将图片拖动到ps的编辑系统中..但是是出于临时文件状态,还需要对他进行保存..网站上某些图片不能够拉动,但是可以利用截图功能来实现..两张图片同时拉倒一个文件中构成两个不同的图层..打开文件的几种方法.. ps数码相片点阵图

2019微专业初级前端开发工程师教程

目录:┣━━1前端入门┃ ┣━━第1章 前端技术发展概述┃ ┃ ┗━━1前端技术发展概述.mp4┃ ┣━━第2章 微专业课程体系概述┃ ┃ ┗━━2微专业课程体系概述.mp4┃ ┣━━第3章 前端入门案例┃ ┃ ┗━━3前端入门案例.mp4┃ ┣━━第4章 前端开发工具┃ ┃ ┣━━4.1前端开发工具概述.mp4┃ ┃ ┣━━4.2WebStorm.mp4┃ ┃ ┣━━4.2WebStorm参考资料.doc┃ ┃ ┣━━4.3Sublime Text 参考资料.doc┃ ┃ ┣━━4.3Subl

网易前端规范

自己写项目的时候,就会发现很多问题,小到文件夹的层次以及一个变量的命名,大到各个模块的配合或者框架的采用,都充满了技术.好的习惯会让前端工作提高很多,特别是在团队合作的时候. 网易前端规范是老师要求我们学习的,特意在此记录一下. 穿越网址:http://nec.netease.com/standard