如何使用具有函数 Javascript 的过滤器
How to use a filter with a function Javascript
我不是在找人帮我做这件事,而是在寻求帮助
如果有一些 Javascript 101 我似乎没有回答我的问题,或者它非常简单,我会尽早道歉。我有一项任务,无法弄清楚 google 就过滤器而言要做什么,或者要寻找什么。
我的作业:
- 从 body 中获取提示并将其放在头部的函数中,该函数将提示变量值传递给充当过滤器的函数。您将需要在 body 的脚本块中调用提示功能。
- 过滤器需要测试传入数据的未分配或空值。如果它未分配或为空,则需要说 good-bye。
- 如果数据为真,则过滤器需要测试它是否不是数字(它是字符串)。如果它是一个字符串,它会调用函数将名称和消息一起写入页面。如果数据是数字,过滤器需要再次调用提示功能。
原代码
<html>
<head>
<title>Function 2</title>
<script type="text/javascript">
function namer(a){
document.write("your name is: "+a);
}
</script>
</head>
<body>
<script type="text/javascript">
var name=prompt("what is your name?","")
namer(name);
</body>
</html>
我目前拥有的:
<html>
<head>
<title>Function 2</title>
<script type="text/javascript">
function namer(a){
document.write("Your name is: "+a); //in body
}
function negativeGreeting(){
alert("Goodbye!")
}
</script>
</head>
<body>
<script>
var name=prompt("what is yourB name?","") //asks name for page
if(name){
namer(name);
}
else{
negativeGreeting()
}
</script>
</body>
</html>
我知道我需要创建另一个函数,并且 body 中的提示将转到过滤器,而不是具有 namer(name)
的过滤器
我不知道如何使用过滤器,甚至不知道从哪里开始。我也不知道如何让 body 中的提示再次出现。
看看这个solution.You可以用window.onload=invoke;
函数提示在beginning.Keeping提示里面一个函数里面如果不是[=23=会帮你再调用] 检查它是否是一个字符串你必须使用 string.prototype.search .It receives a regex 这将查看字符串中是否有任何数字或 not.I 在每个 section.If 中被注释掉你会理解它 clearly.I 建议你不要复制它并通过我的两个链接 provided.Then 自己做 way.Just 复制对你没有多大帮助。
function namer(a){
document.write("Your name is: "+a); //in body
}
function negativeGreeting(){
alert("Goodbye!")
}
function invoke(){
var name=prompt("what is yourB name?","") //asks name for page
if((/\d+/g).test(name)){
invoke(); // if any number found call invoke again which will prompt for input again until it gets a string without any number in it.
}else{
useInput(name); // if true name found it call useInput function which checks if it is undefined or not.It is not necessary ,i kept your code though.
}
}
function useInput(val){
if(val){
namer(val); //calls name function if criterion is fulfilled
}
else{
negativeGreeting() // otherwise it calls this function
}
}
window.onload=invoke;
我不是在找人帮我做这件事,而是在寻求帮助
如果有一些 Javascript 101 我似乎没有回答我的问题,或者它非常简单,我会尽早道歉。我有一项任务,无法弄清楚 google 就过滤器而言要做什么,或者要寻找什么。
我的作业:
- 从 body 中获取提示并将其放在头部的函数中,该函数将提示变量值传递给充当过滤器的函数。您将需要在 body 的脚本块中调用提示功能。
- 过滤器需要测试传入数据的未分配或空值。如果它未分配或为空,则需要说 good-bye。
- 如果数据为真,则过滤器需要测试它是否不是数字(它是字符串)。如果它是一个字符串,它会调用函数将名称和消息一起写入页面。如果数据是数字,过滤器需要再次调用提示功能。
原代码
<html>
<head>
<title>Function 2</title>
<script type="text/javascript">
function namer(a){
document.write("your name is: "+a);
}
</script>
</head>
<body>
<script type="text/javascript">
var name=prompt("what is your name?","")
namer(name);
</body>
</html>
我目前拥有的:
<html>
<head>
<title>Function 2</title>
<script type="text/javascript">
function namer(a){
document.write("Your name is: "+a); //in body
}
function negativeGreeting(){
alert("Goodbye!")
}
</script>
</head>
<body>
<script>
var name=prompt("what is yourB name?","") //asks name for page
if(name){
namer(name);
}
else{
negativeGreeting()
}
</script>
</body>
</html>
我知道我需要创建另一个函数,并且 body 中的提示将转到过滤器,而不是具有 namer(name)
的过滤器我不知道如何使用过滤器,甚至不知道从哪里开始。我也不知道如何让 body 中的提示再次出现。
看看这个solution.You可以用window.onload=invoke;
函数提示在beginning.Keeping提示里面一个函数里面如果不是[=23=会帮你再调用] 检查它是否是一个字符串你必须使用 string.prototype.search .It receives a regex 这将查看字符串中是否有任何数字或 not.I 在每个 section.If 中被注释掉你会理解它 clearly.I 建议你不要复制它并通过我的两个链接 provided.Then 自己做 way.Just 复制对你没有多大帮助。
function namer(a){
document.write("Your name is: "+a); //in body
}
function negativeGreeting(){
alert("Goodbye!")
}
function invoke(){
var name=prompt("what is yourB name?","") //asks name for page
if((/\d+/g).test(name)){
invoke(); // if any number found call invoke again which will prompt for input again until it gets a string without any number in it.
}else{
useInput(name); // if true name found it call useInput function which checks if it is undefined or not.It is not necessary ,i kept your code though.
}
}
function useInput(val){
if(val){
namer(val); //calls name function if criterion is fulfilled
}
else{
negativeGreeting() // otherwise it calls this function
}
}
window.onload=invoke;