㈠ 怎么实现javascript中调用java类中的方法
为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方让册纳法的机制。只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上。
1、映射Java对象到JavaScript对象上
代码如下:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
final WebSettings settings = mWebView.getSettings();
settings.setSupportZoom(true);
//WebView启用Javascript脚本执行
settings.setJavaScriptEnabled(true);
settings.(true);
//映射Java对象到一个名为”js2java“的Javascript对象上
//JavaScript中可以通过"window.js2java"来调用Java对象的方法
mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");
代码如下:
/**网页Javascript调姿键用接口**/
class JSInvokeClass {
public void back() {
activity.finish();
}
}
2、JavaScript调坦没用Java对象示例
调用上述JSInvokeClass类对象的back方法,如下:
复制代码 代码如下:
window.js2java.back();
㈡ 如何调用js文件中对象的函数
代码如下:
1.HTML页面:
<!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" />
<title>无标题文档</title>
<script type="text/javascript" src="1.js" ></script>
<script type="text/javascript" src="2.js" ></script>
</head>
<body>
<input type="text" id="tex" name="tex" onblur="fun();" />
</body>
</html>
2.js:
function onCli(){
var va=document.getElementById("tex").value;
if(null == va || "" == va){
alert("请在文本框中输入内容!");
return false;
}
return true; //当va的值不为空时 if(onCli())中onCli()是undefined
}
3.js
function fun(){
if(onCli()){
alert("调用成功!");
}
}
㈢ javascript 中怎么访问对象中的函数或者方法
js中的对象并不像java语言中的类,需要new了之后才能使用。js中的对象是可以直接通专过点运算符来访问对属象的公有属性和方法的。
参考代码如下:
首先声明一个对象,
var person = {
name:'Jack',
sayHello:function(){
console.log('Hello', + this.name);
}
};
如果要调用sayHello()方法,即person.sayHello();
就可以看到,打印出来"Hello,jack"。
㈣ JS 类方法调用
window.alert(p.getName1()+" "+People.getName2()+" "+p.getName3());
这里先执行括号里所有的内容,再执行最外层的window.alert,
所以读到People.getName2() 时,函数内的回alert就先弹出来了,
因为答getName2只有一个alert方法,this.name是Object自带的方法,会返回当前对象的全名,
所以弹出显示People,
构造函数People里虽然有this.name,但是构造函数没实例化是无法调用内部的属性,
所以People.getName2()返回的是undefined,
㈤ js调用对象中的方法
var o = {a:"abc", b:{ c:function(param){ alert(this.a); //这里的this指向的不是o而是b,所以this是没有a属性的,这里应该弹出undefined alert(param); } }, d:function(){ this.b.c.call(this,'dddd');//这样就行了,就可以改变this的指向为d的this }};
㈥ js方法调用
JS函数的定义与调用方法
JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式
1.方法调用模式:
先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject
对象。
var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
};
blogInfo.showBlog();
2.函数调用模式
定义一个函数,设置一个变量名保存函数,这时this指向到window对象。
var myfunc = function(a,b){
return a+b;
}
alert(myfunc(3,4));
3.构造器调用模式
定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。
var myfunc = function(a){
this.a = a;
};
myfunc.prototype = {
show:function(){alert(this.a);}
}
var newfunc = new myfunc("123123123");
newfunc.show();
4.apply,call调用模式
var myobject={};
var sum = function(a,b){
return a+b;
};
var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]);
alert(sum2);
㈦ 如何在JS中调用jQuery内部的函数或对象
函数是可以调用的,差兄方法就不能调用,还有,JQ的函数里的对象是JQ,而JS和JQ的方法不能混着用,如果你JQ想用JS的方法就把对象转成JS对象,如果JS想用JQ的方法就把JS对象转成JQ对象
1
2
3
4
5
6
7
// JS获取对象
var obj = document.getElementById('id');
//虚蠢袭 把JS对象转换到jQuery对象
var $obj = $(obj);
var $obj = 档逗$('#id');
// jQuery对象转换到JS对象
var obj = $obj.get(0);
㈧ js问题 有两个方法,怎么实现其中一个方法调用另一个方法中的变量
方法不少
1 将a,b设为全局变量
就是放在方法外面
楼上写了
2 让a()有返回值
这样你可以通过dd.a,dd.b来调版用a方法里的变量,
但是你不能权修改a b两个变量
<html>
<body>
<scripttype="text/javascript">
functiona(){
vara=12;
varb=23;
return{a,b}
}
functionm(){
vardd=a();
console.log(dd.a);
console.log(dd.b)
}
m()
</script>
</body>
</html>
另外建议方法名不要起class 这样容易引起混淆的名称
㈨ js怎么调用方法
1:方法调用模式。
请注意this此时指向myobject。
/*方法调用模式*/
var myobject={
value:0,
inc:function(){
alert(this.value)
}
}
myobject.inc()
2:函数调用模式
请注意this此时指向window
/*函数调用模式*/
var add=function(a,b){
alert(this)//this被绑顶到window
return a+b;
}
var sum=add(3,4);
alert(sum)
3:构造器调用模式
javascript语言精粹一书建议摒弃这中方式。因为有更好的方式。这里先不介绍。下次发表博文的时候贴出来。
会在这里加一个连接。
/*构造器调用模式 摒弃*/
var quo=function(string){
this.status=string;
}
quo.prototype.get_status=function(){
return this.status;
}
var qq=new quo("aaa");
alert(qq.get_status());
4:apply调用模式
==我们可以来看一个更有用的apply实例。看最下面的代码。
/*apply*/
//注意使用了上面的sum函数
//与myobject
//这中调用方式的优点在于可以指向this指向的对象。
//apply的第一个参数就是this指针要指向的对象
var arr=[10,20];
var sum=add.apply(myobject,arr);
alert(sum);
㈩ js 面向对象中的函数相互之间如何调用
用Function.prototype.bind即可
比如this.ele.addEventListener('touchstart', this.selectmouse.bind(this));
定义在Dumplings.prototype里的函数如果作为Dumplings实例的方法调用,其this指针会指向内Dumpling实例。
但作为参数容传递给其他函数(比如addEventListener)时其this指针会被重置,由addEventListener控制。
你需要在prototype里的函数里调用其它同级的函数,this就应当指向Dumplings实例,用this.ele来绑定事件和访问事件的对象,这样才能通过this来访问其他同级对象。为防止addEventListener改变this的指向,需要用bind固定下来。