<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<title>无标题文档</title>
</head>
<script type="text/javascript">
function apprise(string, args, callback) //这里是args传递的是一个对象,而callback是一个方法
{
var default_args =
{
'input' : false, // 是否有文本框
'textOk' : "确定", // 确定按钮的默认值
'textCancel' : "取消" // 取消按钮的默认值
} if(args) //如果参数有值
{
for(var index in default_args) //default_args 有3个属性,我们对这3个属性进行循环
{
if(typeof args[index] == "undefined") // 如果传递进来的参数的其中一个属性的值为undefined的话
{
args[index] = default_args[index];
//我们就给传递的参数的其中的一个属性一个默认值(这个默认值由default_args来提供)
}
}
} //开始创建一个div
var div='<div id="mydiv" style="border:1px #ccc solid;width:500px; height:300px">'+string;
//如果需要创建文本框的话,我们就创建一个input
if(args["input"]==true){
div+='<input type="text">';
}
//创建2个按钮 div+='<button value="ok">'+args["textOk"]+'</button><button value="cancel">'+args["textCancel"]+'</button>'+ '</div>'; $(div).appendTo($("body")); $("#mydiv > button").click(function(){ if(this.value=="ok"){
var txt=$("#mydiv > input[type='text']").val();
if(typeof(txt)!="undefined"){ //如果文本不为undefined的话,我们就回调文本,否则就回调false
callback(txt);//调用传进来的函数方法,并且把txt当做参数穿进去 ,就会执行 alert(canshu) 这个方法体了
}
else{
callback(false);
}
}else
{
callback(false); //如果点击的是取消按钮,则直接返回false
}
}); } function my(){ apprise("请输入分组的名称", { 'input': true,'textOk':'点是'},function(re_value){ //这里实际上就是把canshu当做是返回值在使用
//如果你有什么ajax要提交 这里是最合适不过了
if(re_value){ //如果re_value有值的话
if (typeof (re_value) == 'string') { //如果返回的是个字符串,我们就弹出来
alert(re_value)
}
} });
}
</script>
<body>
<input type="button" onclick="my()" value="点击" />
</body>
</html>

js方法传入对象;js方法传入方法;js方法回调 callback的更多相关文章

  1. js错误:对象不支持此属性或方法

    对象不支持此属性或方法 错误原因: 可能是js的文件名和另外一个文件重复. 也有可能是js里的function和另外一个function名字重复. 也有可能是js里的function和页面的某一元素重 ...

  2. 【学习笔记】六:面向对象的程序设计——理解JS中的对象属性、创建对象、JS中的继承

    ES中没有类的概念,这也使其对象和其他语言中的对象有所不同,ES中定义对象为:“无序属性的集合,其属性包含基本值.对象或者函数”.现在常用的创建单个对象的方法为对象字面量形式.在常见多个对象时,使用工 ...

  3. 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...

  4. JS中Date对象getYear()方法和getFullYear()方法区别

    释义 JavaScript getFullYear() 方法 getFullYear() 方法可返回一个表示年份的 4 位数字. getYear() 语法 dateObject.getFullYear ...

  5. js中遍历对象的属性和值的方法

    鉴于循环目标是个对象,length是为undefined,用map等对数组的循环方法不行,对象就用此下方法 for(var key in _this.lists.medicines){ medicin ...

  6. JS中定义对象原型的两种使用方法

    第一种: function Person() { this.username = new Array(); this.password = "123"; } Person.prot ...

  7. JS类、对象、方法、prototype、_proto_

    案例代码: function People(name) { //对象属性 this.name = name; //对象方法 this.Introduce = function() { alert(&q ...

  8. Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇

    一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传 ...

  9. 170104、js内置对象与原生对象

    内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集:而后者包括了一些在运行过程中动态创建的对象. 原生对象 ...

  10. 程序猿都没对象,JS竟然有对象?

    现在做项目基本是套用框架,不论是网上的前端还是后端框架,也会寻找一些封装好的插件拿来即用,但还是希望拿来时最好自己过后再回过头了解里面的原理,学习里面优秀的东西,不论代码封装性,还是小到命名. 好吧, ...

随机推荐

  1. Up and running with Apache Spark on Apache Kudu

    After the GA of Apache Kudu in Cloudera CDH 5.10, we take a look at the Apache Spark on Kudu integra ...

  2. EL表达式取值中文再发送请求时会乱码

    问题描述: 在网站底部进行评论,点击提交按钮时,后台tomcat报错,通过火狐浏览器的firebug看到发送的POST请求体中,有一个title参数是乱码, 导致该字段超长违反了数据库字段的长度约束: ...

  3. linux下文件描述符的查看及分析

    起因 近期在调试一个Android播放内核是遇到上层传递的是fd(file descriptor),但是在文件播放结束之后调用lseek却提示返回-1,errno=29(#define ESPIPE ...

  4. 判断URL文件是不是在于在。

    判断URL文件是不是在于在. private static bool UrlIsExist(string url) { System.Uri u = null; try { u = new Uri(u ...

  5. C# 跳转新页面

    C# 跳转新页面 string url = "http://www.vipsoft.com.cn"; ResponseRedirect.Redirect(Response, url ...

  6. RedHat 将应用程序添加到 Gnome 菜单中

    . . . . . 在RedHat下面安装了Eclipse,是解压缩就能运行的,没有经过脚本安装所以无法自动在菜单中生成链接,但是可以通过手动的方式,步骤如下. 首先在/usr/share/appli ...

  7. APMServ升级php 与 Wamp升级PHP版本到5.3

    方法一:(我亲测试,没问题)首先下载:php-5.3.1-Win32-VC6-x86.ziphttp://windows.php.net/downloads/releases/archives/ 解压 ...

  8. [Linux]基本I/O重定向

    在我们设置定时任务的时候经常会使用标准输出和标准错误输出.这个在Linux是一个非常重要的概念,而且这个很有用.程序应该有数据库的来源端.数据的目的端,以及报告问题的地方,它们被称为标准输入.标准输出 ...

  9. 从Unauthorized 401错误学习Spring Boot的Actuator

    之前用Spring Boot都是别人搭好的框架,然后自己在里面写就行了.对原理.细节上都怎么涉及,毕竟需求都做不完.但是昨天一个访问RESTful接口的401问题搞了我2个小时.网上找的很多用: ma ...

  10. C语言 · 排列数 · 排列式

    蓝桥练习场上不断碰到类似的题,都是一个递归搜索的套路. 算法提高 排列数   时间限制:1.0s   内存限制:256.0MB      问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下 ...