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

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. 最小生成树二·Kruscal算法

    描述 随着小Hi拥有城市数目的增加,在之间所使用的Prim算法已经无法继续使用了——但是幸运的是,经过计算机的分析,小Hi已经筛选出了一些比较适合建造道路的路线,这个数量并没有特别的大. 所以问题变成 ...

  2. php页面开启错误提示

    ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);

  3. CKfinder for java详解二:缩略图及图片上传的缩放

    我们找到 <thumbs><enabled>true</enabled><url>�SE_URL%_thumbs/</url><dir ...

  4. 手机不弹toast解决方法

    经常遇到华为手机不弹toast的问题     华为手机--设置--通知栏和状态栏--通知中心--自己的项目  用户可能允许通知关了 就收不到提示了     在手机的设置 -> (某些手机前面可能 ...

  5. 工单进入IN_MO后在FP_PREPROCESS被过滤

    '; --BOM and item not in IN_ITEMBOMROUTING SELECT * FROM TEMP_REMOVED_IN_DATA WHERE TABLE_NAME='IN_M ...

  6. vue 学习1

    .static{ border-radius:4px; } .active { width: 100px; height: 100px; background: green; } .text-dang ...

  7. maven项目下出现java.lang.ClassNotFoundException: ContextLoader异常

    原因:出现此异常是因为tomcat的webapp目录下没有lib文件. 解决方案: 1.右键点击项目--选择Properties选择Deployment Assembly,在右边点击Add按钮,在弹出 ...

  8. pta_l1-6(连续因子)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805138600869888 题意:给定n,求n的最长的连续子因 ...

  9. nexus(Maven仓库私服)的安装、配置、使用和仓库迁移

    简介 Nexus下载:点击进入 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一 ...

  10. POJ-1458.CommonSubsequence.(DP:最长公共子序列裸题)

    本题大意:给出两个字符串,让你求出最长公共子序列的长度并输出. 本题思路:本题是经典的DP问题,由于是两个字符串,那么我们就用一个二维数组来进行区分,用dp[ i ][ j ]来表示在s1和s2中分别 ...