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. Top 10 Free Wireless Network hacking/monitoring tools for ethical hackers and businesses

    There are lots of free tools available online to get easy access to the WiFi networks intended to he ...

  2. .net framework环境

    microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=z ...

  3. 根据 字数 确定 UI控件高度

    //字体 textLabel.font = [UIFont systemFontOfSize:13]; CGFloat labelWidth = [UIScreen mainScreen].bound ...

  4. LeetCode Longest Substring with At Most Two Distinct Characters

    原题链接在这里:https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/ 题目: Gi ...

  5. 使用jQuery为表单添加回车事件

    $(document).keypress(function(e){ if(e.which==13){ checkUserForm(); } });

  6. background-size的cover和content的用法

    background-size:cover; 表示背景图拉伸布满,如果在手机上做的话,背景图片会拉大,失真.这样做不妥 background-size:content; 表示背景图片在内容区域正常显示 ...

  7. 官方教程:教你用好微信JS-SDK接口

    微信开放JS-SDK接口,开发者和行业用户可谓是欢欣鼓舞.奔走相告,目测将激起一大波第三方开发商的创新产品!真真是H5开发者的利好!但也有用户表示,还不了解JS-SDK接口到底是啥,究竟怎么用.现在, ...

  8. Linux就这个范儿 第11章 独霸网络的蜘蛛神功

    Linux就这个范儿 第11章  独霸网络的蜘蛛神功  第11章 应用层 (Application):网络服务与最终用户的一个接口.协议有:HTTP FTP TFTP SMTP SNMP DNS表示层 ...

  9. Android EditText 改变边框颜色

    第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...

  10. AbsListView.OnScrollListener

    public static interface AbsListView.OnScrollListener   android.widget.AbsListView.OnScrollListener 类 ...