javascript 高级程序设计 四
新的一天开始,让我们伴随者轻快的心情,开始今天的笔记
1、操作符:
(1): *、/、-在ECMAScript中操作的时候,如果遇到有一个操作值不是数值型(Number),那么就会在后台调用number()方法,将其转化成Number
(2): +和上面的三个操作符是不一样的,只要其中一个操作值不是Number,那么就会在后台调用toString()或valueOf(),得到String类型,总的来说:
就是只要一个操作值不是Number那么,就会默认调用所有操作值的toString()或valueOf()方法来进行字符串的拼接。除非由():
alert('String'+4+5);//Stirng45
alert('String'+(4+5));//String9
(3):==和===的区别:
==在ECMAScript是比较'不严谨'的:废话不都说了直接上表格,写例子
表达式 | 值 |
null==undefined | true |
NaN==NaN | false |
'5'==5 | true |
false==0 | true |
true==1 | true |
true==2 | false |
undefined==0 | false |
null==0 | false |
NaN!=NaN | true |
所以在项目中我们一律使用全等(===)和不全等(!==),在这种情况下比较的两个操作数就会进行额外的转化。
例如::'5' === 5;//false
(4):switch()语句:
在ECMAScript中switch是自我鉴定语句,和其他语言有所不同,1:可以在switch中使用任何数据类型,2:每一个case不一定是常量
var Str = 'String';
switch(true){
case: Str < 'string':
alert('xiaoyu');
break;
case: Str > 'string'
alert('dayu');
break;
default :
alert('String');
}
(5)、function()的参数:
在ECMAScript中方法的参数虽然可以在方法声明上写入几个参数,但是在调用的时候,我们可以不一定非得传入相同的参数个数的
参数,这是因为在ECMAScript中,参数其实都是在方法内部以类似数组的格式储存者,并且每个方法内部都会维护者一个arguments这么一个对
象,因为他类似与数组,所以可以用arguments[0]来代指第一个参数。虽然arguments这个对象储存在计算机中的空间和传入的参数的储存空间
不是同一个,但是他们却是联动的(但方向的联动,也就是命名参数不会改变arguments中对应的值,另外值传入一个参数,那么arguments[1]设
置的值不会反应到命名参数中),就是arguments中的值永远与对应参数的值保持同步。
function doAdd(num1,num2){
if(arguments.length === 1){
arguments[0]+=10;
alert(num1);
}else(arguments.length === 2){
arguments[1]+=10;
alert(arguments[0] + num2);
}
}
并且在ECMAScript中没有重载,如果有了两个相同名字的函数,则改名字只属于后定义的函数。
javascript 高级程序设计 四的更多相关文章
- JavaScript高级程序设计(四): 关键字With的使用
一.关键字with 1.含义 with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象. 简单的说,with为一个或一 ...
- JavaScript高级程序设计学习(四)之引用类型
在javascript中也是有引用类型的,java同样如此. javascript常见也比较常用的引用类型就熟Object和Array. 一个对象和一个数组,这个在前后端分离开发中也用的最多.比如aj ...
- 《Javascript高级程序设计》阅读记录(四):第五章 下
这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法.做这个一方面是提升了我的阅读效果以及方便我以后阅 ...
- 《Javascript高级程序设计》阅读记录(二):第四章
这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 《JavaScript高级程序设计》学习笔记(5)——面向对象编程
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...
- 《JavaScript高级程序设计》学习笔记(4)——引用类型
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中, ...
- 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...
- 《JavaScript高级程序设计》学习笔记12篇
写在前面: 这12篇博文不是给人看的,而是用来查的,忘记了什么基础知识,点开页面Ctrl + F关键字就好了 P.S.如果在对应分类里没有找到,麻烦告诉我,以便尽快添上.当然,我也会时不时地添点遗漏的 ...
随机推荐
- Hadoop分布式HA的安装部署
Hadoop分布式HA的安装部署 前言 单机版的Hadoop环境只有一个namenode,一般namenode出现问题,整个系统也就无法使用,所以高可用主要指的是namenode的高可用,即存在两个n ...
- CSS 原理
CSS是一个描述HTML文档的样式语言. CSS描述HTML元素的显示方式. 本教程将教你CSS从基础到网页布局,学完本教程,可以设计出漂亮的网站. 本教程需要HTML知识为基础,学习HTML前往&l ...
- Java中for循环中的的try-catch
异常处理 当for循环遇上try-catch @Test public void forThrow(){ final int size = 6; for (int i=0; i<size; i+ ...
- Anaconda安装及配合pycharm使用
首先到https://www.anaconda.com/download/下载合适的anaconda版本.如Windows 64bit. 下载了直接双击开始下载,一路同意下去,到选择安装的目录.这里选 ...
- 修改redis 持久化路径和日志 路径 ,修改kafka日志路径
redis修改持久化路径和日志路径 vim redis.conf logfile /data/redis_cache/logs/redis.log #日志路径 dir /data/redis_cach ...
- 从后台获取的数据渲染到页面中的dom操作
很多情况下页面dom都是从后台拼接字符串添加生成的新的dom元素,在编辑器中不能看到,只能通过检查看到页面的dom结构,但是这时候会发生一个问题,就是如果使用jQuery无法进行dom操作,事件和方法 ...
- android TextView SetText卡顿原因
[android TextView SetText卡顿原因] 不要用wrap_content即可. 参考:http://blog.csdn.net/self_study/article/details ...
- pycharm破解版
- IDEA2017-破解方法
@方法一 第一步:下载jar 包 地址:https://github.com/locationbai/registerIDEA_2017.3.2_jar 第二部:将下载好的jar放在idea安装目录下 ...
- 【Spider】使用CrawlSpider进行爬虫时,无法爬取数据,运行后很快结束,但没有报错
在学习<python爬虫开发与项目实践>的时候有一个关于CrawlSpider的例子,当我在运行时发现,没有爬取到任何数据,以下是我敲的源代码:import scrapyfrom UseS ...