当前位置: 首页 > news >正文

3_1_1.JS--函数

函数(function)

是一段预定义好的,可以被反复使用的代码块,其中包含多条可执行语句。
使用关键字function声明一个函数
命名规则与变量一致,都要符合标识符命名规则
函数的声明与调用

<script> //使用函数向页面输出两数和 var a=7,b=7; function sum(){ var add=a+b; document.write(add) } sum(); </script>

函数的返回值

<script> //使用函数返回值向页面输出两数和 var a=7,b=7; function sum(){ add=a+b; return add; } var c=sum(); console.log(c) </script>

函数的参数
函数的参数,是函数执行过程中,用于接收实际数据的变量,只不过不需要使用var声明。
函数通过return关键字来返回函数执行的结果

<script> //含参数的两数和 function add(n1,n2){ return n1+n2; } var a=parseInt(prompt("请输入第一个数:"));//注意,如果不强制转换,输入的则是string类型的。 var b=parseInt(prompt("请输入第二个数:")); c=add(a,b); alert("两数和是"+c) </script> <script> //比较三个数的大小 function getMax(n1,n2,n3){ var nmax; //逻辑短路,或者用条件运算表达式 (n1>n2)&&(n1>n3)&&(nmax=n1); (n2>n1)&&(n2>n3)&&(nmax=n2); (n3>n1)&&(n3>n2)&&(nmax=n3); return nmax; } var a=parseInt(prompt("请输入第一个数:")); var b=parseInt(prompt("请输入第二个数:")); var c=parseInt(prompt("请输入第三个数:")); alert("三个数中最大的是:"+getMax(a,b,c)) </script>

作用域
作用域就是变量与函数的可访问范围,它控制着变量与函数的可见性和生命周期。
分为:
全局作用域(window),变量或函数一经定义,在代码中任何地方都能访问
函数作用域,函数作用域中定义的函数或变量,只在当前函数内可访问----也称作局部作用域

<script> var a=10;//全局变量 function qq(){ var b=10;//局部变量 a=20;//全局变量,更改全局变量a的值 c=30;//全局变量,非严格模式下,函数中未使用var声明的变量,会被自动创建为全局变量 } </script>

按值传递
按值传递是指两个变量间赋值,或将变量作为参数传入函数时,其实只是将原变量中的值复制一个副本给对方。
JS中为函数传递参数时,都是按值传递的。
如果传递的是原始类型数据,则在函数内修改参数变量的值,不会影响外部的原变量。

提前声明
JS程序在正式执行前,会将所有var声明的变量和function声明的函数提前到所在作用域的顶部,集中创建。但是,会将赋值留在原地。

全局函数
全局函数是指ECMAScript标准中预定义好的,可以直接使用的函数。例如:
Boolean(); isNaN(); Number(); String(); parseFloat(); parseInt();

eval(); 用于执行字符串类型的js语句(即,会把一个字符串当成js语句执行),相当于一个小型的js解析器

<script> var str = prompt("请输入一个算术运算表达式,例如:1+2"); //var result=eval(str); console.log(str+"的结果为:"+eval(str)); </script>

编码:将url中的多字节字符编码为单字节字符
解码:反向将单字节字符解码为多字节字符

encodeURl(); URI进行编码。//编码
encodeURlComponent(); 对URl的有效组件进行编码。//编码,可编码特殊符号,比如 : /。
decodeURl(); 对已编码的URI进行解码。//对url进行解码
decodeURlComponent(); 对URl的一个已编码的组件进行解码 。//解码,可解码特殊符号,比如 : /。

http://www.cnnetsun.cn/news/3713845.html

相关文章:

  • 选择排序
  • 70+个Adobe Illustrator脚本终极指南:快速提升设计效率的完整教程
  • Python的标准库,random()
  • 剑指Offer_编程题(C#实现)_ 链表中倒数第k个结点
  • 地铁轨道交通无线动能照明方案,站台附属照明无线化改造详解
  • pacemaker控制haproxy容器
  • JAVA毕设选题推荐:基于SpringBoot+Vue的校园流浪动物报备救助与养护管理平台 大学生流浪动物公益救助服务系统设计【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 【JAVA课程设计/毕业设计】基于 SpringBoot+Vue 的前后端分离架构下高校学习竞赛成果管理系统 高校学生赛事成果溯源、管理与线上展示平台【附源码、数据库、万字文档】
  • 餐饮CPS平台开发公司排名,多级佣金自动结算源码讲解
  • 物联网设备硬件级安全方案:SE050与MK64FX512VDC12协同设计
  • centos7安装libpcaplibnids
  • PDF加密技术实践:算法原理、兼容性与国内免费工具性能对比
  • 元宇能量环开发:从质疑到深度体验,后来我才明白科技轻养生的逻辑【真实感受】
  • (Monte Carlo)蒙特卡罗方法计算圆周率π(java实现)
  • Escrcpy终极指南:免费高效的Android设备无线投屏控制解决方案
  • 企业级Agent智能体开发服务商私有化部署方案与落地场景解析
  • 终极Windows防撤回指南:3步永久保留微信QQ聊天记录
  • 空气净化器选购指南:从CADR/CCM原理到实战评测,以AirX A10SE359为例
  • 三分钟搞定上百个Excel文件搜索:QueryExcel批量查询工具终极指南
  • Play Integrity API Checker实战指南:全面掌握Android设备完整性检测技术
  • 本地部署Hermes Agent与大模型:性能瓶颈分析与优化实战
  • PUBG-Logitech罗技鼠标宏压枪工具:3分钟快速配置指南
  • 终极Mac窗口置顶解决方案:Topit三分钟提升你的多任务效率
  • 揭秘:企业面试最反感的3类网安新人,简历再好看也直接刷掉
  • 计算机毕业设计之基于springboot的电竞赛事管理系统
  • 图片处理工具Thumbnailator的介绍和使用
  • 算法(11):Convex hull-5.6
  • Mentor PADS差分走线设计与信号完整性优化指南
  • 文件加密软件有哪些?6 款全格式办公文件加密软件,2026 必备
  • AI 基础设施建设中的决策陷阱:技术选型、团队能力与时间约束的博弈分析