function在java中的作用_web Function函数

javascript中函数定义

js中函数一般定义如下:

function functionName(arg0,arg1,arg2,...,argN) {

statements;

}

其中functionName是函数名,arg0,…argsN是参数,没有具体类型,可以接受任何类型的参数,例如Boolean,Number,String,Object等。function可以有返回值(返回值可以返回任何类型),也可以没有返回值

来看一个function示例:

function printHello(message) {

alert(message);

}

printHello("helloworld");

将会弹出 helloworld

带返回值的函数

function sum(num1,num2) {

return num1 + num2;

}

alert(sum(2,6));

输出8

这样来看,其实和java中也差别不大,但是关键的是在js中也允许这样的代码存在

alert(sum(2,6));

var res = sum(1);

alert(sum(1,2,3));

var res2 = sum;

alert(sum());

这样一来,和java中相差就很大了。可以看到我们 定义函数是两个参数,但是调用却可以是0个,1个,甚至3个参数。并且函数名还可以赋值给其他变量。这是怎么回事呢?下面讲解。

3 javascript中function注意事项

1 javascript中function的本质

javascript中函数本质上是一个对象,每个函数都是Function的实例,都与其他对象一样有属性和方法。由于函数是对象,因此函数名实际上是指向函数的一个指针,函数名不会与具体的某个函数绑定。

理解以上概念对我们理解javascript中函数非常有用,这些解释了以下代码为什么会执行结果相同

var res2 = sum;

res2(1,2);

sum(1,2)

以上代码结果均是3

javascript中函数与java的异同

个人觉得javascript中函数与java中的主要区别如下:

js中函数是一个对象,函数名是一个指针。java中函数是对象的一个方法,依附于对象,不能独立存在。

java中就不说了,很好理解。js中刚刚已经介绍过了,为了理解js中函数是一个对象,我们可以这样定义sum函数:

var sum = new Function("num1","num2","return num1 + num2");

var sum1 = function (num1,num2) {

return num1 + num2;

};

alert(sum(1,3));

alert(sum1(1,3)) ;

以上两个结果均输出4,可以看到,js中函数确实是一个对象。函数名仅仅是一个指向该函数的指针。

js中函数没有重载,参数没有类型校验,调用可传递0到N个参数

js中函数是一个对象,函数名是一个指针,因此对象没法重载,定义多个相同名字的函数等于将该对象指向多个函数,最终肯定会以最后的定义为准。

function print() {

return "print1";

}

function print(message) {

return "print2";

}

alert(print());

alert(print("ppp"));

结果都是输出print2,可见最终print2函数都是返回print2。

另外,js中可以把没有返回值的函数赋值给某个结果变量,如下:

function noReturn() {

var i = 0;

}

var res = noReturn();

//输出 undefined

alert(res);

输出结果是undefined,如果一个函数没有返回值,被赋值时,默认返回undefined

js中函数内部有两个特殊对象:arguments,this

我们知道js中函数可以传递0到N个参数,那这是怎么回事呢?原因是js总函数的参数是用一个数组来表示的,这个数组就是arguments数组,不论传递的多少个参数,函数始终接受到的参数都是这个数组。可以用数组的形式来访问函数参数。如下:

var sum1 = function (num1,num2) {

//arguments length:2 1 3

console.log("arguments length:" + arguments.length + " " + arguments[0] + " " + arguments[1]);

return num1 + num2;

};

alert(sum1(1,3));

当调用时,我们可以看到控制台输出如下结果:

arguments length:2 1 3

this对象

this的行为与java中类似,它引用的是函数执行的环境对象–也可以说是this值(当在网页全局作用域中调用函数时,this对象引用的是window对象)。请参考下面例子。

window.color = "red";

//创建一个对象o 指明具有color属性

var o = {color:"blue"};

function sayColor() {

console.log(this.color);

}

//red

sayColor();

o.saycolor = sayColor;

//blue

o.saycolor();

可以看到,调用sayColor()是,当前this对象是window对象,当把sayColor赋值给o时,后面this对象指代的就是o对象了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Web ,注册页面验证用户和密码通常分为两个部分:前端验证和后端验证。 前端验证是指在用户提交表单之前,通过 JavaScript 对用户输入的用户名和密码等信息进行基本的验证,例如验证用户名和密码是否符合要求,是否为空等。这可以提高用户的体验,让用户在提交表单之前就能够知道自己的输入是否正确。 以下是一个简单的前端验证的示例代码: ``` function validateForm() { const username = document.querySelector('#username').value; const password = document.querySelector('#password').value; if (!username) { alert('用户名不能为空'); return false; } if (!password) { alert('密码不能为空'); return false; } return true; } ``` 在上面的代码,我们定义了一个 `validateForm` 函数,用于在用户提交表单之前对用户输入的用户名和密码进行验证。如果用户名或密码为空,就弹出相应的提示信息,并返回 `false`,阻止表单的提交。否则,返回 `true`,允许表单提交到后端进行验证和保存。 后端验证是指在接收到前端提交的表单数据之后,对用户名和密码等信息进行验证和保存。这通常需要使用 Java Web 开发的 Servlet 和 DAO(Data Access Object)技术,以及数据库技术进行实现。 以下是一个简单的后端验证的示例代码: ``` @WebServlet("/register") public class RegisterServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取前端提交的表单数据 String username = request.getParameter("username"); String password = request.getParameter("password"); // 对用户名和密码进行验证 if (username == null || username.isEmpty()) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "用户名不能为空"); return; } if (password == null || password.isEmpty()) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "密码不能为空"); return; } // 将用户信息保存到数据库 UserDao userDao = new UserDao(); User user = new User(username, password); userDao.save(user); // 返回注册成功的信息 response.setContentType("text/plain"); response.getWriter().write("注册成功"); } } ``` 在上面的代码,我们定义了一个 `RegisterServlet` 类,用于处理前端提交的注册表单数据。在 `doPost` 方法,我们首先获取了前端提交的用户名和密码等信息,并对其进行了基本的验证。如果用户名或密码为空,就返回相应的错误信息。否则,我们使用 DAO 技术将用户信息保存到数据库,并返回注册成功的信息。 需要注意的是,上面的代码只是一个简单的示例,实际的注册页面验证和保存用户信息可能会更加复杂,例如需要对密码进行加密等处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值