什么是函数

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

函数的作用

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

代码块

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

语法:

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. 【转】netty4.1.32 pipeline的添加顺序和执行顺序

    原文:https://www.cnblogs.com/ruber/p/10186571.html 本文只想讨论一下pipeline的执行顺序问题,因为这个搞不明白就不知道先添加编码还是解码,是不是可以 ...

  2. vue+大文件断点续传

    根据部门的业务需求,需要在网络状态不良的情况下上传很大的文件(1G+).其中会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长,请求超时:3,传输中断,必须重新上传导致前功尽弃.解 ...

  3. cached占比过高

    Linux手动释放缓存的方法Linux释放内存的命令:syncecho 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义 ...

  4. JavaScript 运行机制:Event事件循环机制

    JavaScript Event事件循环机制 JS是单线程的,浏览器只分配一个主线程给JS.一次只能执行一个任务,当前任务执行完后在可以执行下一个任务.任务多时,就会形成任务队列排队等待执行.但是非常 ...

  5. python多线程、线程锁

    1.python多线程 多线程可以把空闲时间利用起来 比如有两个进程函数 func1.func2,func1函数里使用sleep休眠一定时间,如果使用单线程调用这两个函数,那么会顺序执行这两个函数 也 ...

  6. iOS-XMPP(转)

    IM的实现原理    在我最初学习编程的时候,曾经用JAVA实现了一个最简单版的IM通讯,即通过Socket建立两台电脑之间的连接,然后发送IO流来进行即时通讯,我们现在所使用的IM软件尽管看上去非常 ...

  7. QML使用Python的函数

    有2种方法: 一. QML中定义一个信号,连接Python里的函数: 这里的函数不用特意指明为槽函数,普通函数即可. QML的信号连接Python的函数 QML:首先在QML中定义一个信号,这里的信号 ...

  8. 嵌入(embedding)层的理解

    首先,我们有一个one-hot编码的概念. 假设,我们中文,一共只有10个字...只是假设啊,那么我们用0-9就可以表示完 比如,这十个字就是“我从哪里来,要到何处去” 其分别对应“0-9”,如下: ...

  9. webdriervAPI(获取验证信息)

    from  selenium  import  webdriver driver  =  webdriver.Chorme() driver.get("http://www.baidu.co ...

  10. ADRMS与office的整合(一)

    因为微软之前针对客户的RMS加密服务是一种免费的测试服务,虽然用户很多但实质上还是一种“测试服务”. 后来微软把这个服务商业化了,需要继续使用的话需要打下这个补丁 https://support.mi ...