什么是函数

一段定义好的代码,并可以反复使用的代码块

函数的作用

提升代码的可复用性,将一段代码进行预定义,需要使用的时候才触发

代码块

形成了一个相对独立的作用域

语法:

function  函数名(参数列表){

    代码块(函数体);

    return 返回值

  }

  函数名(进行函数的调用)

结束函数:

程序碰到return后,return后面的代码便不会再执行,且最多只有一个返回值

目前来说,我已知的函数有

  isNaN()

  prompt()

  parseInt()

  parseFloat()

  charcodeAt()

  toString()

  Number()

  document.write(‘’)

  toFixed()

  alert()

  console.log()

什么是作用域

  一个范围,也称变量的的生命周期

JS中作用域的分类

  1.函数作用域

    该变量只在当前作用域中可以访问,当前函数可访问

    在函数体中使用var关键字的变量才是局部变量

  2.全局作用域

    一经定义,在代码中任何位置都能访问

什么是数组

  内存中连续存储多个数据的存储空间,统一的名字

为什么要使用数组

  连续存储的多个数组编译维护和查询

如何使用

  1.创建空数组

    不能以数字开头,不能使用关键字和保留字,可以使用下划线、字母、数字和$

    var array = [ ];

    这要是[ ]就是创建一个新数组

  2.创建一个已知数据个数的空数组

    创建一个数组来存储已存在但目前不知道的内容

    var  a  =   new  Array(正整数);

  3.创建数组的同时初始化数组的内容

    var name =  [ ' ' , ' ' , ' ' ];

    引号内输入数组的直接量

如何访问

  通过下标, 数组中下标是一个元素存储位置的序号,默认是从零开始,连续不重复

特征

  不限制元素的存储数据类型、下标的越界、数组的元素个数

  .length属性,记录数组的理论个数,是最后一个元素的+1,因为数组的第一个是0

   如何在数组的末尾追加新元素

  array[array.length] = ' 元素名' ;

  获取最后一个元素的倒数第n个元素

  array[array.length - n ];

   数组的遍历 对数组中的每个元素执行相同的操作

  var drinks = ["珍珠奶茶","冰红茶","酸梅汤","快乐肥宅水"];

  读取操作

  for(var i = 0;i< drinks.length;i++){

  console.log(drink[i]);
  }

  循环给一个长度为10的数据随机赋值

  var nums = new Array(10);

  for(var i =0 ;i<nums.length;i++){

  nums[i] = (Math.random()*10) | 0;

  }

  console.dir(nums);

  

  原始类型: number string boolean undefiend null

  数据直接保存在变量本地的数据类型

  按值传递:两个变量之间赋值时,或者将变量作为参数传入函数时,其实仅将原变量中的值赋值一个副本给   

  对方修改新变量,不会影响原变量的值

  引用类型: 数据无法直接保存在变量本地的数据类型

  因为变量只允许保存一个值,而引用类型往往同时保存多个值

  会在window对象之外,创建一个独立的存储空间,并且每个独立的存储空间都有一个唯一的

  变量中依然保存的是一个值,只是数组中仅保存地址而已 -- 称为 引用

  传递的是地址(实际上也是按值传递,只不过值是一个地址):修改了新数组,等效于直接修改元素数组

 

Javascript简单教程汇总的更多相关文章

  1. FusionCharts简单教程(八)-----使用网格组件

            有时候我们会觉得使用图像不够直接,对于数据的显示没有表格那样直接明了.所以这里就介绍如何使用网格组件.将网格与图像结合起来.网格组件能够将FusionCharts中的单序列数据以列表的 ...

  2. JavaScript强化教程——jQuery AJAX 实例

    什么是 AJAX?AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML).简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据 ...

  3. javascript 基础教程[温故而知新一]

    子曰:“温故而知新,可以为师矣.”孔子说:“温习旧知识从而得知新的理解与体会,凭借这一点就可以成为老师了.“ 尤其是咱们搞程序的人,不管是不是全栈工程师,都是集十八般武艺于一身.不过有时候有些知识如果 ...

  4. JavaScript强化教程——Cocos2d-JS中JavaScript继承

    javaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求.由于Cocos2d-JS引擎是从Cocos2d-x演变而来 ...

  5. JavaScript简易教程(转)

    原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...

  6. ASP.NET MVC 教程汇总

    自学MVC看这里——全网最全ASP.NET MVC 教程汇总   MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要 ...

  7. javascript 跨域汇总

    什么是跨域?当两个域具有相同的协议.相同的端口.相同的host时,那么我们就可以认为它们是相同的域.比如:http://www.example.com/a.html 和 http://www.exam ...

  8. 全网最全ASP.NET MVC 教程汇总

    全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MV ...

  9. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

随机推荐

  1. ffmpeg+nginx搭建直播服务器

    Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器 https://zhuanlan.zhihu.com/p/28009037 FFmpeg总结(十三)用ffmpeg基于n ...

  2. Java同步数据结构之LinkedBlockingQueue

    前言 比起ArrayBlockingQueue,LinkedBlockingQueue应该是最被大家常用的阻塞队列,LinkedBlockingQueue是基于链表的一种可选容量的阻塞队列,也就是说, ...

  3. Markdown使用TOC自动生成导航栏

    经常使用markdown 的玩家一定很想要一个自动生成的导航栏吧,自己写的基本思路就是 轮询监听滚动条的位置,通过抛锚和跳锚实现,这里介绍一下今天的主角,markdown-toc插件: https:/ ...

  4. CentOS7做ssh免密登录

    (1)实验环境 两台CentOS7: youxi1 192.168.1.6 youxi2 192.168.1.7 这里我将防火墙关闭进行实验,如果防火墙开启,请将端口加入到防火墙规则中. (2).目标 ...

  5. 小记LoadRunner 11 安装VC2005运行环境报错处理

    这几天在做性能优化,需要在虚拟机里装个LoadRunner 11.从测试同学那里搞来安装包,按照文档提示安装系统运行环境,提示我要装VC2005 SP1. 安装程序自己安装,报错.截图如下. 于是我又 ...

  6. Ubuntu 18.04 下 PostgreSQL 10 的安装与基础配置

    下载安装 在命令行执行如下语句: apt-get install postgresql-10 该指令会帮助你下载如下PostgreSQL组件: name |explain | ------------ ...

  7. Vue面试题总结——目录

    首先致敬所有积极分享自己的学习经验的程序猿.本文及其链接的绝大部分文章均属各个网站上面排名靠前,条理清晰的文章.考虑到如果只放链接可能会存在失效导致无法访问的问题,对应的复制粘贴了这些文章过来.对每一 ...

  8. django 之(五) --- RESTApi总结

    RESTful django-rest-framework serializers 序列化工具.序列化与反序列化 级联模型 添加级联字段 nested 级联字段的key原来必须就是存在的 隐性属性.自 ...

  9. Windows10系统Python2.7通过Swig调用C++过程

    我用的 python版本是2.7.12: Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit ...

  10. Android netty客户端入门

    新建项目,加入netty库 implementation 'io.netty:netty-all:4.1.36.Final'