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

JavaScript数据类型

  JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String

  Undefined数据类型的值只有一个:undefined

  在JavaScript中,如果函数没有声明返回值,那么会返回undefined。(后面有实例)。

  如果typeof后面跟一个未定义的参数,也是返回undefined

  Null数据类型的值只有一个:null

  null与undefined的关系:undefined实际上是从null派生出来的。

  所以:

alert(undefined == null);

  弹框显示true。

  Boolean数据类型的值有两个:true和false。  

var s = false; //声明了一个布尔值false

  字符串String类型,用单引号或者双引号都可以。

  JavaScript中没有char数据类型。

typeof运算符

  typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined、boolean、number、string以及object

  var s = "hello"; // s是原始类型alert(typeof s) //输出:string

  另一种方式:

var s = new String("hello"); //s是对象类型
alert(typeof s) //输出:object

  对象类型的基类是Object(很像Java),所以typeof判断出是对象类型之后不再具体说明其到底是何种对象类型。

var s = false;
alert(typeof s); //输出booleanvar s = 3;
alert(typeof s)    //输出number

函数无返回值的情况

  在JavaScript中,如果函数没有声明返回值,那么会返回undefined

  function add(){return;//或者干脆不写return
  }alert(add()); //弹框显示undefined

强制类型转换

  强制类型转换:在JavaScript中有3种强制类型转换:

  Boolean(value),Number(value),String(value)

  比较常规的:

var s = Number(3);
alert(s);

  转换成布尔值:

var s = Boolean("hello");
alert(s); //显示true

var s = String("hello");  //注意此处没有关键字new,表示强制类型转换
alert(typeof s);//输出string
//如果加上new则会输出object

  注意:强制类型转换前面是没有new这个关键字的。

对象的属性

  在JavaScript中,所有对象都是从Object对象继承过来的。

  Object中的属性是不可枚举的(propertyIsEnumerable返回false),因此无法

  通过for…in语句得到其中的属性。

var object = new Object();
for(var v in object)
{       alert(v);
}
//没有弹框,因为没有可枚举的属性

alert(object.propertyIsEnumerable("prototype"));//返回false

动态管理属性

  在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性。

var object = new Object();
alert(object.username); //undefined//添加属性
object["username"] = "shengsiyuan";
//object.username= "shengsiyuan"; //两种方式都可以动态添加属性username
alert(object.username); //显示定义的name属性//删除属性
delete object.username; // username属性已经从object对象中删除
alert(object.username);//undefined

定义对象的另一种方式:

  以属性来定义对象:

// 在JavaScript中定义对象的最常见的方式
var object = {username: "zhangsan", password: 123};
alert(object.username);
alert(object.password);

参考资料

  圣思园张龙老师Java Web视频教程。

  W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp

  英文版:http://www.w3schools.com/js/default.asp

JavaScript学习10 JS数据类型、强制类型转换和对象属性相关推荐

  1. JavaScript学习(六十六)—字符串对象常用的属性和方法总结以及数组元素的排序问题

    JavaScript学习(六十六)-字符串对象常用的属性和方法总结以及数组元素的排序问题 学习内容 一.数组去重问题 二.二维数组的定义 三.二维数组的元素操作 四.二维数组的遍历 五.关联数组 六. ...

  2. JavaScript学习(四十八)—原型对象的增删改查

    JavaScript学习(四十八)-原型对象的增删改查 一.构造方法与原型对象的图解 二.型对象的增删改查 (一).什么是原型 每个函数都会有一个属性--prototype属性,这个属性都会有一个对象 ...

  3. javascript原生事件句柄、BOM、DOM对象属性方法总结

    javascript原生事件句柄.BOM.DOM对象属性方法总结 JS事件句柄 事件句柄 类型 说明 onabort 事件句柄 图像加载被中断 onblur 事件句柄 元素失去焦点 onfocus 事 ...

  4. js两种方法删除对象属性

    js 两种方法删除对象属性 delete 语法 delete 对象.属性名 示例 delete.obj.property1 不过据说很慢,不如下面的方法. Reflect.deleteProperty ...

  5. python123数字形式转换_【Python系统学习02】数据类型与类型转换

    数据类型与类型转换 一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', ...

  6. js数据类型强制转换--转换为String

    强制类型转换 -指的是将一个数据类型转换为其他数据类型     -类型转换主要是指,将其他的数据类型,转换为             String   Number Boolean 将其他数据转换为S ...

  7. javascript笔记整理(数据类型强制/隐式转换 )

    A.数据类型强制转换 1.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 var a=false;alert(Number(a)); ...

  8. JavaScript学习笔记——JS基础0

    JavaScript的起源: JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证.所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则.比如:用户名的长度,密码的长度, ...

  9. c语言字符串强制类型转换,C语言学习九 —头文件强制类型转换错误处理

    预处理器 C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤.简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理.我们将把 C 预处理器( ...

最新文章

  1. [转]android selector 背景选择器
  2. 致北漂——你来北京不是为了配合出演苦情戏
  3. Nmon 性能:分析 AIX 和 Linux 性能的免费工具
  4. MATLAB字符串转换函数
  5. 得到选择框句柄 怎么操作_电脑版微信怎么多开?最简单的三种电脑版微信多开教程...
  6. 山东师范大学志愿推荐系统邀请码_快看点邀请码填写HGC1QK快看点邀请码填写HGC1QK快看点邀请码大家千万不要乱填写哦...
  7. redis主从配置及无法连接处理
  8. tar在linux编译为exe,将Linux代码移植到Windows的简单方法 1
  9. 如何在多个SQL Server上运行备份
  10. python如何在列表中查找元素位置_查找元素在list中的位置以及折半查询
  11. Windows/Linux/Mac OS下IntelliJ IDEA快捷键中文大全(本人翻译自官方ReferenceCard.pdf)(PDF典藏版)
  12. 芭蕉树上第十七根芭蕉-- 隐式转换
  13. 苹果手机突然闪退的7个原因及修复方法
  14. 戴尔服务器bios进不去系统,戴尔电脑进不了系统和BIOS
  15. 开发模式和软件系统开发
  16. js 数组扁平化和树之间相互转换
  17. RuntimeTransformGizmo:位移、旋转、缩放插件
  18. Gregorian Calendar ------ 有趣的日历
  19. 跨利润中心外协业务生成利润中心结算凭证
  20. 【附源码】计算机毕业设计SSM天气预报查询管理系统

热门文章

  1. 视频抽帧并存图 python_使用Python实现跳帧截取视频帧
  2. c语言答案知码,C语言笔试习题集答案和解析.doc
  3. 音乐u盘排序软件_传输数据快速的各种U盘系列 定制U盘
  4. 基于python的随机森林回归实现_python实现随机森林
  5. matlab 概率论,matlab.概率论.doc
  6. 大数据分析,利用向外扩展技术深入挖掘商业价值
  7. pythonista安装tkinter_Python又把GUI界面攻下了,今天就告诉你怎么玩
  8. python定义变量类型列子_Python系列课程-变量类型
  9. 决策树(五)--OpenCV决策树
  10. 敏捷开发之团队级经验分享