如何在新窗口中显示js函数的运行结果,对于<input type="button" onclick="f();" >,打开新窗口运行f().

JavaScript029

如何在新窗口中显示js函数的运行结果,对于<input type="button" onclick="f();" >,打开新窗口运行f().,第1张

有这么几种方法

如果定义a.htm通过window.open打了b.htm

可以将f()的运算结果存放在某个hidden控件中

<inputtype="button"value="go"onclick="window.open('b.htm')">

<inputid="hide"type="hidden"value="bb" >

然后当onclick打开新页面后在b中执行

<scriptlanguage="javascript">

alert(window.opener.document.getElementById('hide').value)

</script>

这样就读取了结果了。

可以通过url传递参数的方法传值

f()中定义window.open('b.htm?result='+运算结果)

在b中编写截取url(window.location.href)字符串的函数获取传递过来的数值

推荐第一种方法

function displayHideUI()

{

var ui =document.getElementById("bbs")

ui.style.display="none"

}

function displayShowUI()

{

var ui =document.getElementById("bbs")

ui.style.display=""//display为空的话会好使,为block会使后边的空间换行

}

function visibilityHideUI()

{

var ui =document.getElementById("bbs")

ui.style.visibility="hidden"

}

function visibilityShowUI()

{

var ui =document.getElementById("bbs")

ui.style.visibility="visible"

}

</script>

值 描述

none 此元素不会被显示。

block 此元素将显示为块级元素,此元素前后会带有换行符。

inline 默认。此元素会被显示为内联元素,元素前后没有换行符。

inline-block 行内块元素。(CSS2.1新增的值)

list-item 此元素会作为列表显示。

run-in 此元素会根据上下文作为块级元素或内联元素显示。

compact CSS 中有值compact,不过由于缺乏广泛支持,已经从CSS2.1 中删除。

marker CSS 中有值marker,不过由于缺乏广泛支持,已经从CSS2.1 中删除。

table 此元素会作为块级表格来显示(类似<table>),表格前后带有换行符。

inline-table 此元素会作为内联表格来显示(类似<table>),表格前后没有换行符。

table-row-group 此元素会作为一个或多个行的分组来显示(类似<tbody>)。

table-header-group 此元素会作为一个或多个行的分组来显示(类似<thead>)。

table-footer-group 此元素会作为一个或多个行的分组来显示(类似<tfoot>)。

table-row 此元素会作为一个表格行显示(类似<tr>)。

table-column-group 此元素会作为一个或多个列的分组来显示(类似<colgroup>)。

table-column 此元素会作为一个单元格列显示(类似<col>)

table-cell 此元素会作为一个表格单元格显示(类似<td>和<th>)

table-caption 此元素会作为一个表格标题显示(类似<caption>)

inherit 规定应该从父元素继承display属性的值。

JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。

先看几种常用的定义方式:

function func1([参数]){

/*函数体*/

}

var func2=function([参数]){

/*函数体*/

}

var func3=function func4([参数]){

/*函数体*/

}

var func5=new Function()

上述第一种方式是最常用的方式,不用多说。

第二种是将一匿名函数赋给一个变量,调用方法:func2([函数])

第三种是将func4赋给变量func3,调用方法:func3([函数])或func4([函数])

第四种是声明func5为一个对象。

再看看它们的区别:

function func(){

//函数体

}

//等价于

var func=function(){

//函数体

}

但同样是定义函数,在用法上有一定的区别。

<script>

//这样是正确的

func(1)

function func(a)

{

alert(a)

}

</script>

<script>

//这样是错误的,会提示func未定义,主要是在调用func之前没有定义

func(1)

var func = function(a)

{

alert(a)

}

//这样是正确的,在调用func之前有定义

var func = function(a)

{

alert(a)

}

func(1)

</script>

用同样的方法可以去理解第三种定义方式。

第四种定义方式也是需要声明对象后才可以引用。