当前位置: 首页 > news >正文

JavaScript高级程序设计--基本概念--笔记

语句

  1. if语句会自动调用Boolean()转换函数将表达式的结果转换为一个布尔值
  2. for-in 循环输出的属性名的顺序是不可预测的,返回的先后次序可能因浏览器而异,如果要迭代的对象的变量值为null或undefined, for-in语句会抛出错误,ECMAScript5更正了这一行为;对这种情况不再抛出错误,而只是不执行循环体,为了兼容,在使用for-in循环之前,先检测该对象的值是不是null或undefined
  3. switch语句中可以使用任何数据类型,无论是字符串,还是对象都没有问题,其次,每个
  4.   case的值不一定是常量,可以是变量,甚至是表达式

理解参数

可以向函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数

    1. arguments对象只是与数组类似,但它不是Array的实例。虽然可以通过下标访问元素,通过length属性确定传递进来多少个参数,没有传递值的命名参数会自动被赋予undefined值
    2. ECMAScriptA中函数命名的参数只提供便利,但不是必需的;另外,在命名参数方面,其他语言可能需要事先创建一个函数签名,而将来的调用必须与该签名一致,但在ECMAScript中,没有这些条条框框,解析器不会验证命名参数
    3. ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数
    4. 关于arguments的行为,还有一点比较有意思。那就是它的值永远与对应命名参数的值保持同步。因为arguments对象中的值会自动反映到对应的命名参数,不过这并不是说读取这两个值会访问相同的内存空间,它们的内存空间是独立的,但它们的值会同步。但这种影响是单向的:修改命名参数不会改变arguments中对应的值;另外,arguments对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数个数决定的,如果只传入一个参数,那么arguments[1]设置的值不会反应到命名参数中去。
    5. 严格模式中,对arguments赋值会变得无效,其次,重写arguments会导致语法错误
    6. 通过检查传入参数的类型和数量并作出不同的反应,可以模仿方法的重载

转载于:https://www.cnblogs.com/derek-hu/p/4280266.html

相关文章:

  • javabean总结
  • Css布局系列-经典三列布局
  • msyql查表报InnoDB错误
  • Nodejs使用TLS
  • Overview
  • puppet注意事项
  • LAMP搭建小结
  • 【AngularJS】—— 5 表单
  • 用显微镜观察cpu芯片内部
  • 怎样获取android手机联系人并按字母展示(三)
  • C/C++产生随机数
  • Linux对文件归档和压缩(学习笔记八)
  • PLSQL转义字符
  • vim 入门
  • 【转】Android项目中编译 C的模块
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • docker-consul
  • exif信息对照
  • javascript 总结(常用工具类的封装)
  • Javascript设计模式学习之Observer(观察者)模式
  • js面向对象
  • Laravel 实践之路: 数据库迁移与数据填充
  • PaddlePaddle-GitHub的正确打开姿势
  • QQ浏览器x5内核的兼容性问题
  • Redis学习笔记 - pipline(流水线、管道)
  • SSH 免密登录
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 开发基于以太坊智能合约的DApp
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 手机端车牌号码键盘的vue组件
  • 首页查询功能的一次实现过程
  • 思考 CSS 架构
  • 因为阿里,他们成了“杭漂”
  • 智能网联汽车信息安全
  • 中文输入法与React文本输入框的问题与解决方案
  • 终端用户监控:真实用户监控还是模拟监控?
  • 白色的风信子
  • NLPIR智能语义技术让大数据挖掘更简单
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​iOS安全加固方法及实现
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​Python 3 新特性:类型注解
  • ​低代码平台的核心价值与优势
  • ​如何在iOS手机上查看应用日志
  • #100天计划# 2013年9月29日
  • $refs 、$nextTic、动态组件、name的使用
  • (HAL库版)freeRTOS移植STMF103
  • (二)丶RabbitMQ的六大核心
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • **PHP分步表单提交思路(分页表单提交)
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存