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. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  3. socket读写返回值的处理

    在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...

  4. nginx的使用

    1.nginx的下载 解压后文件目录: 2.nginx的常用命令 nginx -s stop 强制关闭  nginx -s quit 安全关闭  nginx -s reload 改变配置文件的时候,重 ...

  5. 伪共享(false sharing),并发编程无声的性能杀手

    在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素.前段时间学习了一个牛X的高性能异步处理框架 Disruptor ...

  6. .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper

    好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...

  7. JavaScript动画-拖拽改变元素大小

    ▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...

  8. Redis百亿级Key存储方案(转)

    1 需求背景 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperi ...

  9. 【Reading Note】Python读书杂记

    赋值 >>> list=[] >>> app=[list,list,list] >>> app [[], [], []] >>> ...

  10. ResponsibleChain(责任链模式)

    /** * 责任链模式 * @author TMAC-J * 老板讲任务交给CTO,CTO自然不会亲自去做,又把人物分配给项目经理,项目经理再把任务分配给组长,组长再分配给个人 * 如果中途哪个环节出 ...