【循环控制语句】
1、break:终止本层循环,继续执行循环后面的语句;
当循环有多层时,break只会跳过一层循环;
2、continue:跳过本次循环,继续执行下一次循环;
对于for,continue执行后,继续执行循环变量更新语句n++
对于while,do-while,continue执行后,继续执行循环条件,判断;所以使用这两个循环时必须注意

continue一定要在n++之后,否则会造成死循环。

【嵌套循环特点】
外层循环控制行数,内层循环控制每行元素个数

[做图形题思路]
1、确定图形一共几行,即为外层的循环的次数;
2、确定每行有几种元素,代表有几个内层循环;
3、确定没种元素的个数,即为每个内层循环的次数;
Tips:通常,找出每种元素个数,与行号的关系式,即为当前内层循环的最大值(从1开始循环)

【函数的声明及调用】
1、函数声明格式:
function 函数名(参数1,参数2,……){
// 函数体
return 结果
}
>>>函数调用的格式:
函数名(参数1的值,参数2 的值,……)
2、函数声明的几点强调:
①函数名的声明:必须符合小驼峰法则(首字母小写,之后每一个单词首字母大写);
②参数列表:可有、无参数,分别为有参函数和无参函数;
③声明函数时的参数列表,称为“形参函数”(变量的名);
调用函数时的参数列表,称为“实参函数”(变量的值);
函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为
Undefined;
④函数如果需要返回值,可用return返回结果,
调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
如果函数没有返回值,则接受的结果为Undefined。
⑤函数中变量的作用域:
在函数中,使用var声明的变量,默认为函数局部变量,只在函数内部能用;
不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后才能使用)
函数的形参列表,为函数局部变量,只在函数内部使用;
⑥函数声明与函数调用,没有先后之分。即,调用语句可写在声明语句之前。

【匿名函数的声明及调用】
1、声明一个匿名函数,直接赋给某个事件;
window.onload=function(){}
2、使用函数表达式,声明匿名函数:
声明函数表达式:var func = function(){}
调用函数表达式:func();
>>>使用匿名函数表达式,则调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别)
3、使用自执行函数,声明并直接调用匿名函数:
!function(参数1){}(参数1的值); //使用任意运算符开头,一般使用!
(function(){}()) //使用()将匿名函数及之后的括号包裹
(function(){})() //使用()只包裹匿名函数表达式
三种写法特点:
①结构清晰,开头加!,结尾加(),不容易乱,推荐使用
②可以表明匿名函数与之后的()为一个整体,推荐使用
③无法表明匿名函数与之后的()为一个整体,不推荐使用

【函数内部的属性】
[Arguments对象]
1、作用:用于保存调用函数时,所赋值的实参列表。
>>>当我们调用函数,并使用实参赋值时,实际上参数已经保存到arguments数组中,
即使没有形参,也可以使用arguments[n]的形式调用参数;

2、arguments数组个数取决于实参列表,与形参无关;
但,当第N个位置的形参,实参,arguments都存在时,
形参与arguments是同步的。(即在函数中修改其中一个的值,另一个会同步
变化)

3、arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
arguments.callee()可以调用自身函数执行;

在函数内部调用函数自身的写法,被称为递归,所以arguments.callee()是递归调用时常用的方法;

[this]
函数调用语句所在的作用域,即谁调用函数,this指向谁;

【JS中代码的执行顺序】
console.log(num);
var num = 10;
function func(){}
JS中代码运行,会先进行检查、装载,即声明变量、函数等操作;
然后再进入执行阶段,(变量的赋值等属于执行阶段)

所以,函数的声明属于检查装载阶段,函数的调用属于执行阶段,
so,函数调用语句写在函数声明语句之前,并没有任何关系。

所以上述代码执行流程:
------检查装载阶段--------
var num; //声明变量
function funcN() //声明函数

------执行阶段-----------
console.log(num);
num=10;
funcN(); //执行函数的{}中的代码

JS基础,你需要掌握的要点!的更多相关文章

  1. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  2. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)

    温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...

  3. (初学JS)JS基础——ATM机终端程序编写<1.0>

    初步学习了JS基础,为了更好地将所学知识熟练运用,我进行了银行ATM存取款机的模拟程序编写,主要通过VScode终端实现系列操作. 我的ATM程序包括6个主要功能:1.查询余额 2.存钱 3. 取钱 ...

  4. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  5. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  6. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  7. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  8. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  9. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  10. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

随机推荐

  1. Spring Boot HTTP over JSON 的错误码异常处理

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “年轻人不要怕表现,要敢于出来表现,但还是那句话,要有正确的度,你的表现是分析问题和解决问题的能 ...

  2. Docker 跟 NodeJs 最佳实践

    Level-1 简单实现 需求:简单的构建一个app应用并且用docker部署.Dockerfile编写为: FROM node:7.3.0 RUN mkdir -p /usr/src/app COP ...

  3. oracle数据库如何打印九九乘法表

    对于九九乘法表,相信对于懂IT的人并不陌生,但是外行可能会有很多的不懂,c语言也同样需要了解,它是学习的入门课程,oracle数据库书写九九乘法表有好几种方式,下面就有我为大家介绍,一起来看看吧. 九 ...

  4. 线程同步synchronized,Class与Object

    synchronized (class):class类的同步,同步的时候会同步整个class 与 synchronized (Object):Object的同步,只对其中的对象同步 如下:对类B中的同 ...

  5. Node.js开发工具、开发包、框架等总结

    开发工具 1.WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢.2.做些小型项目用Sublime Text.3.Browserif ...

  6. firefox无法使用yslow的解决方案

    首先,Yslow不支持firefox 36及以上版本. 解决方案:使用yslow的书签版本 使用方法:1.访问这里 http://yslow.org/mobile/ 2.把页面最后的那个 Deskto ...

  7. unity插件开发——一个例子:简单的svn集成

    在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈uni ...

  8. JSP九大内置对象的作用和用法总结(转)

    SP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.r ...

  9. Linux下搭建mpi集群(ubuntu下用虚拟机测试)

    一 建立SSH连接(无密码登陆) 1 SSH连接的简单介绍 SSH 为 Secure Shell 的缩写,中文翻译为安全外壳协议,建立在应用层,是一种远程连接安全协议.传统的telnet,pop,ft ...

  10. [SinGuLaRiTy] COCI 2011~2012 #2

    [SinGuLaRiTy-1008] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 测试题目 对于所有的题目:Time Limit:1s   ...