4.函数

1)函数是一段完成“指定功能”的已经“命名”的代码段

2)函数只有“调用”才能使用到,调用就是通过名称(可以在声明之前,也可以在声明之后)

3)函数名、参数、函数体、返回值(没有返回值的函数叫过程)

  return跳出函数体

4)函数名不加括号时代表整个函数,加括号代表调用

typeof(函数名)的值为function

var 变量=函数名;那么变量就代表了这个函数

5)回调函数相当于函数有一个参数是一个函数。

5.自定义函数

1)全局变量:在函数外声明的变量,变量一直可以用,直到关闭浏览器

2)局部变量:在函数内声明的变量,函数调用完成就释放掉

3)如果函数定义时,形参个数大于调用时传进去的实参个数,那么会出现参数未定义的情况undefined

如:(意思就是只要写函数名不管传不传参数都会去调用这个函数)

function test(a,b,c){
alert(a);
     alert(b);
      alert(c);
}
test();

如果实参个数大于形参,可以用arguments取出参数

function test(){
alert(arguments.length);
alert(arguments[3]);
}
test(1,2,3,4,5,6,7,8,9)

4.JS是基于对象的;Window和global对象的函数可以直接使用

  如:window.alert();

    global.escape();对字符串进行编码

    global.unescape();对字符串进行解码

    global.praseInt();字符串转成整数

    global.isNaN();判断是否不是整数

    global.eval();检验是否是js代码并执行

5.JS对象

1)基于对象的操作方式

2)将相关的操作使用一个对象完成,看做一个整体

字符串对象

数学对象

数组对象

时间对象

var dt = new Date();
var str="今天是:";
str+=dt.getYear()+"年";
str+=(dt.getMonth()+1)+"月";//月份从0开始,所以要加1
str+=dt.getDate()+"日";

3)自定义对象

方法1-1:

function Play(){ //与定义函数一样

}
var p= new Play(); //用new定义一个对象 p.width=300;
p.height=200;
p.num=4; p.autoplay=function(){
alert("play...");
} p.test=function(){
} alert(p.width);
p.autoplay();

方法1-2:

var p= new Object(); //用new定义一个对象

p.width=300;
p.height=200;
p.num=4; p.autoplay=function(){
alert("play...");
} p.test=function(){
} alert(p.width);
p.autoplay();

方法2:

function Play(){ //与定义函数一样
  var p= new Object(); //用new定义一个对象   p.width=300;
  p.height=200;
  p.num=4;   p.autoplay=function(){
  alert("play...");
   }   p.test=function(){
  }
  return p;
}
var p=Play();
alert(p.width);
p.autoplay();

方法3:

function Play(width,height){
this.width=width;
this.height=height;
this.autoplay=function(){
alert("####");
}
}
var p=new Play(200,400);
alert(p.width);
alert(p.autoplay());
var pro="";
for(pro in p){
  alert(pro);//会弹出属性名如:width、height
  alert(p[pro]);//弹出属性值
}

对象的两种操作:

  with(对象){

    括号里面的方法不加对象都是括号里对象的方法

  }

  for(pro in 对象){//遍历对象的属性
    alert(pro);//会弹出属性名如:width、height
    alert(对象[pro]);//弹出属性值
  }

6.JS内置对象

1)Math不用new对象,直接Math.方法名

2)正则

var zz=/^\S+$/i;

var zz =new Regex("^\S+$","i");

用在String.match方法里做匹配

3)String

4)Date

5)数组

7.数组的声明与应用

1)只要是批量的数据都需要使用数组声明

2)数组声明:

(一)var 数组名=[元素1,元素2,元素3,元素4,......]

  var arrs=[['111','222'],['333','444']];

(二) var arr=new Array("成员","成员2");

  var arr=new Array(10);//定义长度为10的数组

3)数组的方法

sort

2.js基础的更多相关文章

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

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

  2. js 基础

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

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

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

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

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

  5. JS基础(超级简单)

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

  6. Node.js基础与实战

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

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

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

  8. JS基础知识总结

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

  9. js基础篇——call/apply、arguments、undefined/null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  10. js基础知识总结(2016.11.1)

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

随机推荐

  1. [LeetCode]题解(python):074-Search a 2D Matrix

    题目来源 https://leetcode.com/problems/search-a-2d-matrix/ Write an efficient algorithm that searches fo ...

  2. [LeetCode]题解(python):042-Trapping Rain Water

    题目来源 https://leetcode.com/problems/trapping-rain-water/ Given n non-negative integers representing a ...

  3. http://www.cnblogs.com/dumuqiao/p/3654702.html?utm_source=tuicool&utm_medium=referral

    http://www.cnblogs.com/dumuqiao/p/3654702.html?utm_source=tuicool&utm_medium=referral

  4. 构造方法后面加上了:base

    今天看公司软件的代码碰到一个奇怪的方法 ,寻早了各种方法后终于明白了,在构造方法后面加上了:base(message),该类如下: public NONEDIException(string mess ...

  5. Android 百度地图SDK 定位

    引用locSDK_6.1.3.jar,切记添加相应的so文件. 1.定位初始化,需要使用getApplicationContext() mLocClient = new LocationClient( ...

  6. SQLdiag-配置文件-PerfmonCollector

    前一篇我们已经使用默认配置文件收集了部分诊断数据,并且知道配置文件会影响收集数据的内容.这一篇我们重点讲述配置文件中与性能计数器相关的操作.可使用XML模板控制SQLdiag使用的收集器.每个收集器可 ...

  7. 【转】解决:fatal error C1083: 无法打开预编译头文件

    http://blog.csdn.net/aafengyuan/article/details/7988584 是这样的,我创建了一个空项目,并通过"项目属性>C/C++>预编译 ...

  8. 使用NSData处理数据

    // //  main.m //  06-使用NSData处理数据 // //  Created by apple on 14-3-21. //  Copyright (c) 2014年 apple. ...

  9. Java 杨辉三角的简单实现

    package com.lf.trianglenumber; public class Test { public static void main(String[] args) { // 打印的行数 ...

  10. iOS 设置导航栏之二(设置导航栏的颜色、文字的颜色、左边按钮的文字及颜色)

                      #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicati ...