[函数的声明及调用]
1、函数声明的格式:
function 函数名(参数1,参数2,....){
//函数体
return结果;
}
函数名(参数1的值,参数2的值,....)

>>>函数的调用格式
直接调用:函数名(参数1的值,参数2的值,....)
事件调用:事件名="函数名()";

2、函数声明的几点强调:

①函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词字母大写)

②参数列表,可以有参数,也可以无参数。分别称为有参函数和无参函数。

③声明函数时的参数列表,称为“形参列表”(变量的名);
调用函数时的参数列表,称为“实参列表”(变量的值);
函数中,实际有效的值取决于实参的赋值,未被赋值的形参,将为Undefined;

④函数如果需要返回值,可用return返回结果。
调用函数时,使用var 变量名=函数名();的方式,接受返回结果。
如果函数没有返回值,则接受的结果为Undefined;

⑤函数中变量的作用域:
在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容使用;
不用var声明的变量,默认为全局变量,(函数中的全局变量,必须在函数电泳后才能使用)
函数的形参列表,为函数局部变量,只在函数内部使用;

⑥函数声明与函数调用,没有先后之分。即,调用语句可在声明语句之前。

[匿名函数的声明及调用]【重点】

1、声明一个匿名函数,直接赋给某个事件
window.onload=function(){}

2、使用函数表达式声明匿名函数:
声明函数表达式:var func=function(){}
调用函数表达式:func();
>>>使用匿名函数表达式时,调用语句,必须在声明语句之后,否则报错(对比常规函数声明与调用区别)

3、使用自执行函数声明并直接调用匿名函数:
!function(参数1){}(参数1的值) //使用任意运算符开头,一般使用【!】
(function(){}()) //使用()将匿名函数及之后的括号包裹
(function(){})() //使用()只将匿名函数表达式包裹
特点:
①结构清晰,开头加!,结尾加()。不容易乱,推荐使用;
②可以表明匿名函数与之后的()为一个整体,推荐使用;
③无法表明匿名函数与之后的()为一个整体,不推荐使用;

JS中代码的运行顺序

console.log(abc);
var abc=10;
function funcN(){}
funcN();

JS中代码运行,会先进行检查、装载,即变量声明、函数等操作;
然后再进行执行阶段(变量赋值等属于执行阶段)
函数的声明属于装载阶段,函数的调用属于执行阶段,所以,函数的调用语句写在函数声明语句之前,没有任何关系。
上述代码执行流程:
----检查装载----
var num;
function funcN()
----执行阶段----
console.log(abc);
abc=10;
funcN();

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

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

3、arguments.callee是arguments的重要属性,用于返回arguments所在函数的引用;
arguments.callee()可以调用自身函数执行;
在函数内部调用自身的写法,叫做递归,所以arguments.callee()是递归调用时常用的方式;

【this】
指向函数调用语句所在作用域,即谁调用函数,this指向谁;

[BOM]

[screen对象]:
console.log(screen.width);//屏幕宽度
console.log(screen.height);//屏幕高度
console.log(screen.availWidth);//可用宽度
console.log(screen.availHeight);//可用高度=屏幕高度—底部任务栏

[location对象]:

完整的url路径
协议://主机名(IP地址):端口号/文件路径 ?传递参数(name1=value1 & name2=value)#锚点

console.log(location);
console.log(location.href);//完整路径
console.log(location.protocol);//路径协议 http: https: ftp: file: mailto:
console.log(location.pathname);//文件路径部分 /开始
console.log(location.port);//端口号
console.log(location.search);//从?开始往后的部分
console.log(location.hostname);//主机名(IP地址)
console.log(location.host);//主机名+端口号
console.log(location.hash);//#开始的锚点

function locationAssign(){
//加载新的文档。加载以后,可以回退。
location.assign("http://www.baidu.com");
}

function locationReplace(){
//使用新的文档,替换新的文档。替换以后,不能回退。
location.replace("http://www.baidu.com");
}

function locationReload(){
//重新加载当前页面
//reload(true):从服务器重新加载文档
//reload():在本地刷新当前页面
location.reload(true);
}

[history]:
1、history.length:浏览历史列表的个数;
2、history.forward();前进倒前一个页面
3、history.back();后退到后一个页面
4、history.go(0);跳转到历史网页列表的任意位置
位置标志:当前页面为0;前一个页面为1;后一个页面为-1;

[Navigator对象]

console.log(navigator.appName);//产品名称
console.log(navigator.appVersion);//产品版本号
console.log(navigator.userAgent);//用户代理信息
console.log(navigator.platform);//系统平台

navigator.plugins:返回一个数组,检测浏览器安装的所有插件
>>>主要属性:
description:插件的描述信息
filename:插件在本地磁盘的文件名
length:插件个数
name:插件名

navigator.mimeTypes:浏览器插件,所支持的文件类型
>>>主要属性:
description:MIME类型描述
enabledPlugin:支持此类型的浏览器插件
suffixes:此类型可能的后缀名
type:MIME类型的写法,例如:image/x-iocon text/css

window对象的常用方法【重点】
>>>window对象中的所有方法,均可以省略前面的window.,比如close();

1、prompt:弹窗接收用户输入;
2、alert:弹窗警告
3、confirm:带有确认/取消按钮的提示框;
4、close:关闭当前浏览器选项;
5、open:重新打开一个窗口,传入数据:URL/窗口名称/窗口特征
6、setTimeout:设置延时执行,只会执行一次
7、setInterval:设置定时器,循环每N毫秒执行一次
两个参数:需要执行的function/毫秒数(用逗号分隔)
8、clearTimeout:清除延时
9、clearInterval:清除定时器
传入参数:调用setInterval时返回一个ID,通过变量接收ID,传入clearInterval。

JS函数与BOM的更多相关文章

  1. JS中的函数、Bom、DOM及JS事件

    本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...

  2. JS(DOM 和 BOM)

    JS(DOM 和 BOM) 常说的JS(浏览器执行的JS)包含两部分:1.JS基础知识(语法)(ECMA262标准)2.JS-Web-API(W3C标准) W3C 标准中关于 JS 的规定有:(只管定 ...

  3. 3.3 js函数

    1.函数语法: 函数声明的方式:function 函数名(参数1,参数2-){//函数体;}函数调用:函数名(参数1,参数2-); 函数内不一定都指定返回值. 如果需要指定返回值,可用 return ...

  4. Js函数function基础理解

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  5. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...

  6. 通用js函数集锦<来源于网络> 【二】

    通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...

  7. 通用js函数集锦<来源于网络/自己> 【一】

    通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...

  8. 100多个基础常用JS函数和语法集合大全

    网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...

  9. JS函数

    1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...

随机推荐

  1. Strtus2 S2-045漏洞

    S2-045漏洞已经爆发几天了,但还很多网址都存在此漏洞,很多金融类网站也收到了保护费通知...唉,收保护费少,报警无效!只能酌情处理了!做黑产的,还是少做为秒,常在河边站哪有不湿鞋,劝各位早日金盆洗 ...

  2. MyEclipse下安装MyBatis Generator代码反向生成工具

    一.离线方式: 在http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/下载 featur ...

  3. H5 Canvas vs. SVG

    HTML 5 Canvas vs. SVG HTML5 SVG HTML5 地理定位 Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XM ...

  4. 腾讯QQ会员技术团队:人人都可以做深度学习应用:入门篇(下)

    四.经典入门demo:识别手写数字(MNIST) 常规的编程入门有"Hello world"程序,而深度学习的入门程序则是MNIST,一个识别28*28像素的图片中的手写数字的程序 ...

  5. Java的Date和Time入门教程

    本文是一篇翻译文章,已取得原作者授权,原文地址是http://tutorials.jenkov.com/java-date-time/index.html Java语言的JDK中关于日期和时间的API ...

  6. JavaWeb之JSP技术总结

    刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...

  7. Ubuntu14.04上安装openGL

    安装命令:sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install ...

  8. ASP.NET MVC制作404跳转(非302和200)

    前言:距离上次发文已经有几个月了! 这段时间李,制作了一个博客网站,现将博客文章选一些发表到博客园,顺便为自己网站打一下广告! 产生404的原因主要有以下: 1.浏览器和爬虫:某些浏览器会请求网站的f ...

  9. 老李教你性能测试监控工具nmon

    老李教你性能测试监控工具nmon   loadrunner的某些性能监控器不够强大,这就需要我们利用更好的工具进行监控,在项目中我们会用nmon工具作为辅助性能监控的工具,帮助我们进行性能分析,pop ...

  10. 老李分享:android手机测试之适配(1)

    Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...