新的一天开始,让我们伴随者轻快的心情,开始今天的笔记

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 高级程序设计 四的更多相关文章

  1. JavaScript高级程序设计(四): 关键字With的使用

    一.关键字with 1.含义    with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象.   简单的说,with为一个或一 ...

  2. JavaScript高级程序设计学习(四)之引用类型

    在javascript中也是有引用类型的,java同样如此. javascript常见也比较常用的引用类型就熟Object和Array. 一个对象和一个数组,这个在前后端分离开发中也用的最多.比如aj ...

  3. 《Javascript高级程序设计》阅读记录(四):第五章 下

    这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法.做这个一方面是提升了我的阅读效果以及方便我以后阅 ...

  4. 《Javascript高级程序设计》阅读记录(二):第四章

    这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较 ...

  5. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  6. 《JavaScript高级程序设计》学习笔记(5)——面向对象编程

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...

  7. 《JavaScript高级程序设计》学习笔记(4)——引用类型

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中, ...

  8. 《JavaScript高级程序设计》学习笔记(3)——变量、作用域和内存问题

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装 ...

  9. 《JavaScript高级程序设计》学习笔记12篇

    写在前面: 这12篇博文不是给人看的,而是用来查的,忘记了什么基础知识,点开页面Ctrl + F关键字就好了 P.S.如果在对应分类里没有找到,麻烦告诉我,以便尽快添上.当然,我也会时不时地添点遗漏的 ...

随机推荐

  1. java-学习3(jdk-环境配置)

    学习java先安装jdk环境配置 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  2. orthodb

    1.数据库 orthodb数据: odb10v0_levels.tab.gz: NCBI taxonomy nodes where Ortho DB orthologous groups (OGs) ...

  3. phacon只能访问index action

    location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?_url=$1 last; break; } }

  4. ELK Deployed

    Enviroment prepare rpm -qa | grep java wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/51 ...

  5. 二叉搜索树的后序遍历序列(python)

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. # -*- coding:utf-8 -*- cl ...

  6. HDU-1176.免费馅饼(数字三角形变形)

    看到网上大多都是逆向的总结,我来搞个正向的吧... 这道题想着是和数字三角形差不多的,但是最后愣是没有写出来,感受到一股菜意......哭唧唧.jpg 本题大意: 给定n个序列,每个序列包含两个数表示 ...

  7. POJ-3078.Shuffle'm Up(简单模拟题)

    这道题做了有四个小时吧,今天一整天都处于边玩边学的状态,我很是不喜欢...一开始用了20分钟模拟,过了样例后TLE了,就在考虑是不是判断是否重复判定的数组开大了,结果一直蛙,后面想到了map判重,结果 ...

  8. 如何成功再次安装MYSQL

    以前安过,后来再安装就是停在启动项就是过不去,无响应 弄了两天,期待奇迹,网上各种教程试了个遍就是不行,大体就是删除INI,清理注册表,以下是新的发现:(转载) 如果你的电脑里装过MySQL,想再重新 ...

  9. Python: AES加密与解密

    起源: 视频下载,解析到一个网站时,发现其视频id是用AES加密过的,用的是https://code.google.com/archive/p/crypto-js/这个库.解密很简单的一句js代码: ...

  10. stark组件之分页【模仿Django的admin】

    我们的stark组件用的我们的分页组件,没有重新写 下面直接看下分页的代码 class page_helper(): def __init__(self, count, current_page, p ...