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. NPM (node package manager) 入门 - 基础使用

    什么是npm ? npm 是 nodejs 的包管理和分发工具.它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单. 截至 ...

  2. Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)

    作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式 ...

  3. 初学者看过来之JSON入门

    1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是"记号.标记法"的意思,连在一起,便 ...

  4. python 入门笔记

    1.pip包安装 pip install *** pip 中http和https代理设置(/etc/profile) 2.强制保存 :w !sudo tee % 3.cffi是python调用C的包 ...

  5. Flex 布局教程:实例篇

    该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...

  6. Missing Push Notification Entitlement 问题

    最近打包上传是遇到一个问题: 描述: Missing Push Notification Entitlement - Your app includes an API for Apple's Push ...

  7. 在开源中国(oschina)git中新建标签(tags)

    我今天提交代码到主干上面,本来想打个标签(tags)的. 因为我以前新建过标签(tags),但是我现在新建的时候不知道入库在哪了.怎么找也找不到了. 从网上找资料也没有,找客服没有人理我,看到一个交流 ...

  8. php安装threads多线程扩展

    php5.3或以上,且为线程安全版本.apache和php使用的编译器必须一致.通过phpinfo()查看Thread Safety为enabled则为线程安全版.通过phpinfo()查看Compi ...

  9. 个人也能申请微信小程序获得APPID和手机测试效果

    微信小程序昨晚火爆公测,我也第一时间注册了小程序账号开启公测之旅. 注册过程可以看文档:https://my.oschina.net/imhoodoo/blog/780901 进入后台之后我们其实主要 ...

  10. windows 部署 git 服务器报 Please make sure you have the correct access rights and the repository exists.错误

    这两天在阿里云上弄windows 服务器,顺便部署了一个git服务.根据网上教程一步步操作下来,最后在 remote远程仓库的时候提示 fatal: 'yourpath/test.git' does ...