1. 编程形式

① 面向过程

② 面向对象

③ Js既面向过程又面向对象

  1. typeof(数据)

1)typeof(数据)返回该数据是什么类型的

2)写法:

① typeof(数据)

② typeof 数据

3)typeof(数据)可以返回6个值(number,string,boolean,object,undefined,function),这六个值都是字符串类型的

4)null返回也是一个object

5)把一个没有定义的值,如a,放到typeof()中,输出,不会报错,它会输出字符串类型的undefined

  1. 类型转换

1) 显示类型转换

(1) Number(数据)

1) 转化为数字

2) 转不成数字的,转化为NaN

3) true:1,false:0,null:0,undefined:NaN

4) 数据转化后不管能不能转成数字,其类型都会变成Number

(2) parseInt(数据,目标进制)

5)  将第一个参数转化为整型数字

6)  第二个参数的取值范围为(2—36)(0)

7)  转不成整型数字的,转化为NaN

8)  以数字位开始到非数字位结束

9)  true,false,null,undefined:NaN

10)  目标进制:以目标进制为基底将数据转化为十进制

11)  parseInt(数据,0)  ==  parseInt(数据) 或者输出NaN

12)  二进制只有0和1  这种写法parseInt(3,2) 输出NaN

(3) parseFloat(数据)

13) 以数字位开始到除了点以外的非数字位结束(如:parseFloat(123.2.3) == 123.2)

14) 转化为浮点型数字

(4) String(数据)

15) 把一切数据转化为字符串

(5) Boolean(数据)

16) 把数据转化为布尔值

17) 除undefined,null,NaN,””,false,0转化为布尔值是false,其余值都为true

(6) 数据.toString(目标进制)

18) 将数据转化为字符串

19) undefined和null没有toString方法,因此他们不能用这个方法

20) 目标进制:以10进制为基底转化为目标进制

(7) 实例解析

21) 题目:把二进制转化为16进制

22) 解析:二进制转化为十进制,然后再把十进制转化为十六进制

23) 方法:先用parseInt()把二进制转化为十进制,然后再用toString()把十进制转化为十六进制

24) 代码:

//向用户获取这个二进制数

var num1 = parseInt(window.prompt('请输入一个二进制数'));

//把获取二进制数转化为十进制数

var num2 = parseInt(num1,2);

//把转化后的十进制数转化为十六进制数

var num3 = num2.toString(16);

//把转化为十六进制数输出

document.write(num3);

2) 隐式类型转换

(1) isNaN(数据)

1) 确定数据是否是NaN,是:true;不是:false

2) 内部机制:Number(数据)  ==> 看输出是否是NaN

(2) 数据 ++/--   ++/-- 数据

1) 内部机制:Number(数据)  ==>  转化后进行++/--计算

2) 转化后就算不是数字,是NaN,但是其类型依然是Number

(3) +/- 数据(一元正负)

1) 内部机制:Number(数据)  ==>  对转化后的数据添加+-号

(4) + (加号)

1) 内部机制:String()

2) 只要加号两边有一个是字符串,则就会在运算时调用String()方法

(5) -*/%

1) 内部机制:Number()

(6) && || !

1) 内部机制:Boolean()

(7) >  <  >=  <=

1) 任何数据类型与数字比较,会把该数据类型转化为数字(Number()),再进行比较

2) 字符串数字与字符串数字比较,会比较他的ascll码

3) 具体情况具体判定

4) 比较后以Boolean输出

(8) ==  !=

1) 任何数据类型与数字比较,会把该数据类型转化为数字(Number()),再进行比较

2) 具体情况具体判定

3) 比较后以Boolean输出

(9) 其他说明:

1) null/undefined 既不大于0,也不小于0,也不等于0

2) null == undefined   null !== undefined

(10) 不进行隐式类型转换

1) ===  !==

2) NaN !== NaN

  1. 作业

(1) typeof和类型转换课后作业

console.log(typeof(a));   //'undefined'

console.log(typeof(undefined)); //'undefined'

console.log(typeof(NaN));   //'number'

console.log(typeof(null));  //'object'

console.log(typeof(NaN));   //'number'

var a = "123abc";

console.log(typeof(+a));  //'number'

console.log(typeof(!!a));  //'boolean'

console.log(typeof(a + "")); //'string'

console.log(1 == "1");  //true

console.log(NaN == NaN); //false

console.log(NaN == undefined); //false

console.log("11" + 11);  //'1111'

console.log(1 === '1');  //false

console.log(parseInt('123abc')); //123

var num = 123123.345789;

console.log(num.toFixed(3)); //123123.346

console.log(typeof(typeof(a)));  //'string'

(2) 使用html+css写一个三角形

Html代码

<div class="box"></div>

Css代码

div.box{

width:0;

height:0;

border-width:50px;

border-style:solid;

border-left-color:transparent;

border-right-color:transparent;

border-top-color:transparent;

border-bottom-color:#456;

}

(3) 父元素为一个div,宽高不固定,子元素是一个块元素,宽高已知,如何让子元素在父元素内水平,垂直都居中

Html代码

<div class="father">

<div class="son"></div>

</div>

Css代码

div.father{

width:500px;

height:300px;

border:1px solid #489;

position:relative;

}

div.son{

width:100px;

height:100px;

background-color:#123;

position:absolute;

top:50%;

left:50%;

margin-left:-50px;

margin-top:-50px;

}

typeof和类型转换的更多相关文章

  1. JavaScript的运算符、条件判断、循环、类型转换(9.25 第十一天)

    JS的运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ 自减 -- 赋值运算符 a=3 a+=3  a=a=3 a-=3   a=a-3 a*=3  a=a*2 a/=3   a=a/3 ...

  2. JavaScript知识(二)

    你要保守你心,胜过保守一切,因为一生的果效,是由心发出的.————O(∩_∩)O... ...O(∩_∩)O...老师因有事下午没来上课,今天就只把中午讲的知识总结一下.由于昨天只是讲了JavaScr ...

  3. JavaScript基础学习笔记整理

    1.关于JS: (1)脚本语言——不需要编译的语言(常见有cmd,t-sql)----解释性语言; (2)动态类型的语言——1.代码只有执行到那个位置才知道那个变量中存储的是什么 2.对象中没有某个属 ...

  4. ASP.NET Core中GetService()和GetRequiredService()之间的区别

    上篇文章<在.NET Core 3.0中的WPF中使用IOC图文教程>中,我们尝试在WPF中应用.NET Core内置的IOC进行编程,在解析MainWindow的时候我用了GetRequ ...

  5. JS中的数据类型及转换

    js的六大类型 js中有六种数据类型,Boolean: 布尔类型 Number:数字(整数int,浮点数float ) String:字符串 Object:对象 (包含Array数组 ) 特殊数据类型 ...

  6. javascript当中类型转换,typeof的用法

    1)类型转换,typeof的用法 例 3.1.1 <HTML><head>    <meta http-equiv="content-type" co ...

  7. javaScript 数据类型,变量的类型转换,typeof()可以判断变量类型

    js的数据类型和常见隐式转化逻辑. 一.六种数据类型 原始类型(基本类型):按值访问,可以操作保存在变量中实际的值.原始类型汇总中null和undefined比较特殊. 引用类型:引用类型的值是保存在 ...

  8. javascript 类型转换。

    学校js感觉好漫长,断断续续,要坚持每天都能学到点,总结了下数据类型的转换. Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以在运行时被动态改 ...

  9. JavaScript系列文章:自动类型转换

    我们都知道,JavaScript是类型松散型语言,在声明一个变量时,我们是无法明确声明其类型的,变量的类型是根据其实际值来决定的,而且在运行期间,我们可以随时改变这个变量的值和类型,另外,变量在运行期 ...

随机推荐

  1. 大厂面试中三次握手延伸出来n连发你受得了?

    目录 一.这是一次有故事的对话 二.三次握手的客户端服务端状态 1 先画个图看看有哪些状态 2 tcp协议内容解析 3 通过工具wireshark来验证我们所述 三.说下Linux网络编程常用API ...

  2. CDH大数据平台搭建终极版

    经过无数次的失败,终于将CDH安装到两台普通的笔记本电脑上,主要失败原因有以下几点: 不熟悉安装过程,官方给出的安装方法有三种,所以都尝试了一遍,浪费了大量时间,所以有时候方法多不见得是一件好事. 安 ...

  3. 学习Python中遇到的各种错误

    错误列表 TypeError : 'moudle' object is not callable 错误:TypeError : 'moudle' object is not callable 代码: ...

  4. SpringBoot配置国际化

    1).国际化 1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用fmt:message取出国际化内容 步骤: 1).编写国 ...

  5. 个人第四次作业:Alpha项目测试

    个人第四次作业:Alpha项目测试 格式描述 详情 这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience ...

  6. 创建dynamics CRM client-side (八) - 获取attribute的值 和 设置disable

    大家可以用下面的方式来获取attribute的值 formContext.getAttribute("address1_shippingmethodcode").getText() ...

  7. Java练习题1

    题目1: 编程实现,现在有如下的一个数组: int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的 ...

  8. SUSE Linux Enterprise 11 离线安装 DLIB 人脸识别 python机器学习模块

    python机器学习模块安装 我的博客:http://www.cnblogs.com/wglIT/p/7525046.html 环境:SUSE Linux Enterprise 11 sp4  离线安 ...

  9. docker基础及命令

    1.启动docker sudo systemctl start docker sudo systemctl restart docker sudo systemctl stop docker sudo ...

  10. jdk8 ConcurrentHashMap分析

    ConcurrentHashMap分析 tryPresize() transfer() putVal() addCount() sumCount() class ConcurrentHashMap { ...