A. js里有兩個方法,怎麼實現其中一個方法調用另一個方法中的變數
第一種方法。
1.首先准備好兩個js文件。
B. 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固定下來。
C. 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,
D. javascript 中怎麼訪問對象中的函數或者方法
js中的對象並不像java語言中的類,需要new了之後才能使用。js中的對象是可以直接通專過點運算符來訪問對屬象的公有屬性和方法的。
參考代碼如下:
首先聲明一個對象,
var person = {
name:'Jack',
sayHello:function(){
console.log('Hello', + this.name);
}
};
如果要調用sayHello()方法,即person.sayHello();
就可以看到,列印出來"Hello,jack"。
E. 如何在nodejs 中前端js調用後台的對象
前端通常作為模板,後端負責數據。
前後端合作的主要目的,就是把後端產生的數據丟到前端的模板中。通常這一步有兩種方式:
1. 前端的模板交給後端處理,直接寫到後端邏輯中,或者通過 MVC 框架整合成後端的相對獨立的部分;
2. 後端的數據通過 API 的方式交給前端處理,通過 Ajax 等方式傳輸數據。
(當然,也有兩種方式混合處理的)
如果採用了後端處理模板的方式,那前端開發完靜態模板後,需要交給後端開發人員進行模板的整合。這一步要求前端代碼整潔易讀,而且後端必須熟悉各種前端知識和調試技術。最後需要前端對後端處理過的頁面進行檢驗和調試。(這種方式對溝通要求很高,如果兩個人不坐在一起,那合作起來非常麻煩。出現問題或者需要升級時,往往很難定位誰的錯,誰去改。所以最好兩個人坐在一起開發,甚至一個人負責前後端)
如果採用前端處理數據,Ajax 等方式通信的話,前後端只要商量好所需的 API,然後持續交付一個個 API 就好了。前後端完全不需要了解,技術沒有限制,也不需要知道彼此的代碼和實現。
兩種方式如何選擇?
1. 如果前端頁面主要做內容展示,需要後端處理的內容比較多,而前端邏輯簡單時,建議採用後端 MVC。如博客、新聞類的網站;
2. 如果前端頁面的交互和數據處理較多,可以將邏輯放在前端,而後端只負責數據存取。比如各類管理後台。
F. 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);
G. 如何調用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("調用成功!");
}
}
H. 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 }};