发表于: 2017-04-12 20:42:44
1 1190
今日完成:
完成任务4,并修改重新提交。开始学习任务五,准备小课堂。
明日计划:
继续学习任务五。
问题:
今日上午主要在调试任务四,修改css样式,同时把任务五的css样式写完,下午准备小课堂去了,整体没有遇到太大的问题。
任务四在审核时出了问题,通过把跳转衔接的方式改为window.href,取消跳转新窗口;
同时最后一个页面天数信息只有奇数天,没有偶数天,结果是用for循环获取数组时,参数的递增方式写成了+2(直接复制的上一页代码),没有好好检查,改回来后问题解决;
法官台帐页面折叠菜单默认是打开的,很不方便,同时还有个小bug(所有的折叠菜单共用状态机,有时需要重复点击才能实现折叠);有几种办法解决。一是在css里边添加bootstrap的折叠菜单,但是这样会改变我的布局方式,影响js代码,工作量太大;第二是用jq代码实现自动折叠,还是会导致代码改写比较多;最后把现有的控制方式(状态机)删掉,直接进行简单判断,如果当前元素为display:none;就改为display:inline-block,反之亦然。
收获:
今天看了HTTP协议以及AJAX的内容,但是没有实际操作,谈不上多大的收获。明天通过写代码详细学习。
下午准备小课堂,收获及内容如下:
【JS-task01】
小课堂【成都第79期】
JS有哪些数据类型和常用方法
分享人:何华飒
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.参考文献
7.更多讨论
1.背景介绍
JavaScript简单介绍
JavaScript :
是脚本语言
是一种轻量级的编程语言。
它是可插入 HTML 页面的编程代码, JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 的诞生
1994年,网景公司开始考虑考虑开发一种客户端脚本语言来解决简单的处理问题,为即将在1995 年发行的 Netscape Navigator 2.0 浏览器开发一个称之为 LiveScript 的脚本语言,以便在浏览器和服务器(本来要叫它 LiveWire)端使用它,实现页面与使用者的互动。
当时网景公司正与sun公司合作,而sun公司正准备推出java语言,为了利于Java 这个因特网时髦词汇,网景公司将这门语言命名为了JavaScript。
1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufactures Association)进行标准化经过数月的努力完成了ECMA-262——定义了一种名为ECMAScript的新脚本语言的标准。第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262)。
ECMAScript往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。
ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。
实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
2.知识剖析
2.1 JavaScript数据类型有哪些
在ECMAScript中,将数据类型分为6种,分别是Undefined、Null、Boolean、Number和String,还有一个复杂数据类型Object。
Undefined、Null、Boolean、Number都属于基本类型。Object属于引用类型,String有些特殊,具体的会在下面展开分析。
2.2 Undefined数据类型
Undefined数据类型只是一个值,即特殊的undefined。在使用var声明变量但未对其进行初始化时,变量的值就是undefined。
var q;
alert(q == undefined); //true
2.3 Null数据类型
Null数据类型也是一个只有一个值的数据类型。其特殊值就是Null。 从逻辑上看,null是一个空的对象指针。当使用typeof操作符检测null值,会返回“object”
var a = null;
typeof (a);
alert(null == undefined); //true
undefined值派生自null值。出现场景:对象不存在时
[注意1]null是空对象指针,而[]是空数组,{}是空对象,三者不相同
2.4 Boolean数据类型
Boolean数据类型,译作布尔值,只有两个字面量:true和false。它们是区分大小写的。
任何数据类型的值调用Boolean()函数都会返回一个Boolean值
2.5 Number数据类型
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
对于极大或者极小数,用科学技术法e表示浮点数值。大多数浏览器中的最大值为1.7976931348623157e+308。超出JavaScript数值范围的值会返回一个特殊值Infinity值,正数为Infinity(正无穷),负数为-Infinity(负无穷)。其值无法继续参与下一步运算。可以使用isFinite()函数判别数值是不是有穷的。
var num5 = 5.56e8; //556000000
NaN,非数值(Not a number)。
表示一个本来要返回数值的操作未返回数值的情况,省去报错。
有两个特点:
1. 任何涉及NaN的操作都会返回NaN。
2. NaN和任何值都不相等,包括其本身。
alert(NaN == NaN); //false
alert(isNaN("10")); //false 可以被转换成数值10
alert(isNaN("red")); //true 不能转换为数值
alert(isNaN(true)); //false 可以被转换成数值1
2.6 String数据类型
String数据类型表示由零或者多个16位Unicode字符组成的字符序列,简称字符串。由('')("")表示。字符串是不可变的,一旦创建,值不能改变。
字符串在许多方面都和基本类型的表现相似,但其又是不可变的,因此可以将字符串看成行为与基本类型相似的不可变引用类型
var value1 = 10;
var value2 = true;
var value3 = null;
var value4;
alert(String(value1)); //"10"
alert(String(value2)); //"true"
alert(String(value3)); //"null"
alert(String(value4)); //"undefined"
2.7 Object数据类型
Object数据类型,称为对象,是一组数据和功能(函数)的集合。可以用new操作符后跟要创建的对象类型的名称来创建。也可以用字面量表示法创建。在其中添加不同名(包含空字符串在内的任意字符串)的属性。
1 var person = new Object();
person.name = "大娃";
person.age = 24;
2 var person = {
name: "大娃",
age:29 //最后一个属性不能添加逗号
}
3 var person = new Object();
person["name"] = "大娃";
person["age"] = 24;
3.常见问题
问题一:如何判断数据类型
解决方案
使用typeof操作符。typeof操作符的操作数可以是变量也可以是数值字面量。需要注意的是
调用typeof null会返回"object",因为null被认为是一个空的对象引用。
问题二:常用数据转换方法
转数值:parseInt() 和 parseFloat()。
转字符串: .toString()
使用toString(),可以将其他类型值转换成字符串,但是null和undefined不适用这个方法。使用String()函数可以将null和undefined进行转换。
强制转换:访问数据内部内容,并将符合格式的内容进行转换
Boolean(value) - 把给定的值转换成 Boolean 型;
Number(value) - 把给定的值转换成数字(可以是整数或浮点数);
String(value) - 把给定的值转换成字符串;
4.编码实战
一 var num1 = Number("Hello world!"); //NaN
var num2 = Number(""); //0
var num3 = Number("000011"); //11
var num4 = Number(true); //1
var num2 = parseInt(""); //NaN
二 var num1 = parseInt("12345world"); //12345
var num3 = parseInt("0xA"); //10(十六进制)
var num4 = parseInt(43.2); //43
var num5 = parseInt("070"); //56(八进制)
var num6 = parseInt("70"); //70(十进制)
三 var num1 = parseFloat("12345world"); //12345
var num3 = parseFloat("0xA"); //0
var num4 = parseFloat(43.288.5); //43.288
var num5 = parseFloat("070.58"); //70.58
var num6 = parseFloat("3.123e3"); //70(十进制)
5.参考文献
6.更多讨论
数组类型属于哪种类型?
鸣谢
感谢大家观看
BY : 何华飒
鸣谢:沁修 | 高雪峰|刘明|刘其勇
评论