JavaScript语法

八、函数

  函数就是完成某个功能的一组语句,函数由关键字function + 函数名 + 加一组参数定义;

  函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰。

  语法:function funName (arg0, arg1, … argN){
       //statements
     }

  例子:

function sum(a,b){
document.write(a + b);
}
sum(1,2);

  使用 return 语句从函数返回值

  例子:

function sum (num1, num2){
return num1 + num2;
}
var s = sum(1, 2);
alert(s);

  注意:

    ①位于return 语句之后的任何代码都永远不会执行!

    ②在JavaScript中,不一定要指定返回值!

  

  递归函数:在函数里面调用自己 从而实现循环的效果

function test(num){
if(num == 0 || num == 1){
return 1;
}
return num*test(num-1);
}
document.write("5的阶乘为:"+test(5));

九、变量的作用域

变量既可以是全局,也可以是局部的。

全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以在这个脚本的任何位置(包括函数内部)引用它,全局变量的作用域是整个脚本。

局部变量:只存在于对它做出声明的函数内部,在函数的外部无法相用它,局部变量的作用域仅限于函数内部。

var global = "global";    //全局变量
function test(){
var local="local"; //局部变量
global2="global2"; //全局变量
}

在函数外用var声明的变量是全局变量
定义在函数当中,但是没有用var声明的是全局变量
定义在函数当中,用var声明的是局部变量

十、JavaScript 内部函数

在JavaScript中有一些工功能是很常用的,他们以全局函数的形式提供给用户,这些函数称为内部函数。

  1.eval()

  eval 接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果。

  例子:

var i = 1;
eval(“i = i + 1”);
eval(“alert(i);”);

  说明:该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

  提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。

  

  2.parseInt 和 parseFloat 将字符串转换为数字

  parseInt() 函数可解析一个字符串,并返回一个整数。

  parseInt() : W3School

  parseFloat() 函数可解析一个字符串,并返回一个浮点数。

  parseFloat() : W3School

  3.escape 和 unescape   进行URL编码和解码 

  escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

  unescape() 函数可对通过 escape() 编码的字符串进行解码。

  例子:

var test="https://www.baidu.com/";

test=escape(test);
document.write (test + "<br />"); test=unescape(test);
document.write(test);

  结果:

https%3A//www.baidu.com/
https://www.baidu.com/

十一、JavaScript 调试

  在编写 JavaScript 时,如果没有调试工具将是一件很痛苦的事情。

  没有调试工具是很难去编写 JavaScript 程序的。

  你的代码可能包含语法错误,逻辑错误,如果没有调试工具,这些错误比较难于发现。

  通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置。

  

  JavaScript 调试工具

  在程序代码中寻找错误叫做代码调试。

  调试很难,但幸运的是,很多浏览器都内置了调试工具。

  内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。

  有了调试工具,我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。

  浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。

  例子:

console.log("hello world!");

JavaScript基础知识总结(四)的更多相关文章

  1. Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法

    $() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) { return new jQuery.fn.init( selecto ...

  2. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  3. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  4. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  5. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  6. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  7. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

  8. JavaScript基础知识必知!!!

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...

  9. 林大妈的JavaScript基础知识(三):JavaScript编程(2)函数

    JavaScript是一门函数式的面向对象编程语言.了解函数将会是了解对象创建和操作.原型及原型方法.模块化编程等的重要基础.函数包含一组语句,它的主要功能是代码复用.隐藏信息和组合调用.我们编程就是 ...

  10. JavaScript——基础知识,开始我们的js编程之旅吧!

    JavaScript基础第01天 1. 编程语言 编程语言: 可以通过类似于人类语言的"语言"来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming ...

随机推荐

  1. [C#] 软硬结合第二篇——酷我音乐盒的逆天玩法

    1.灵感来源: LZ是纯宅男,一天从早上8:00起一直要呆在电脑旁到晚上12:00左右吧~平时也没人来闲聊几句,刷空间暑假也没啥动态,听音乐吧...~有些确实不好听,于是就不得不打断手头的工作去点击下 ...

  2. 实例操作JSONP原理

    絮语:按这个步骤走,你就会明白JSONP是什么鬼. 1.工程目录: ng-mywork demo.html test.js 2.nginx的server配置 server { listen ; ser ...

  3. 页面中多个script块之间的关系

     一:函数声明与函数定义表达式在函数调用间的区别 <script type="text/javascript"> doA(); var doA = function(a ...

  4. Java 输出流中的flush方法

    转自:http://blog.csdn.net/jiyangsb/article/details/50984440 java中的IO流中的输出流一般都有flush这个操作,这个操作的作用是强制将缓存中 ...

  5. DataTable 转换成 Json的3种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

  6. Effective前端2:优化html标签

    div { float: left; } .keyboard > div + div { margin-left: 8px; } --> div{display:table-cell;ve ...

  7. C# BackgroundWorker 详解

    在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题.解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完 ...

  8. 解决“chrome提示adobe flash player 已经过期”的小问题

    这个小问题也确实困扰我许久,后来看到chrome吧里面有人给出了解决方案: 安装install_flash_player_ppapi, 该软件下载地址:http://labs.adobe.com/do ...

  9. SharePoint 2013: A feature with ID has already been installed in this farm

    使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...

  10. 解决使用IE8打开ADFS 3.0登录页面

    系统上线前一天,发现客户竟然有XP系统和2003系统,这些系统都不能访问外网.测试时,客户端是IE8,打开我们系统ADFS的登录页面,一直在Loading,无法打开,也不报错.后来通过fiddler跟 ...