我不確定這是否是錯誤的代碼,或者將 isPrime 函式放在一個方法中然后在 printSomething 方法中使用該方法是否會“更好”?,如果是這樣,我怎么可能在里面使用一種方法另一種方法?
class PrimeNumbers{
constructor(isPrime, number){
this.isPrime = isPrime;
this.succes = "succes";
this.failure = "failure";
this.number = number;
}
printSomething(isPrime){
if (!this.isPrime(this.number)) {
console.log(this.succes);
} else {
console.log(this.failure);
}
}
}
function isPrime(value) {
if (value == 1) return false;
for (let i = 2; i <= Math.sqrt(value); i ) {
if (value % i == 0) {
return false;
}
}
return true;
}
let primeTest = new PrimeNumbers(isPrime, 10)
primeTest.printSomething()
uj5u.com熱心網友回復:
希望有人能比我更好地解釋這一點。萬一他們不...您可以將其添加isPrime
為方法PrimeNumbers
,然后將其與this.isPrime()
. 在這里,this
指的是您正在處理的當前物件。
當你做let primeTest = new PrimeNumbers(10);
primeTest 成為 PrimeNumbers 的一個實體時,primeTest.printSomething()
你正在訪問 primeTest 上的 printSomething 屬性并呼叫它。一旦代碼在 printSomething 中執行,它通常需要一種方法來參考存盤在 primeTest 中的物件,這就是this
關鍵字的作用;它允許您在代碼運行時參考正在處理的物件的特定實體。
這個頁面在解釋我剛剛試圖解釋的內容方面可能要好得多。
在添加到類中添加 isPrime 是否更好。我不確定,這可能取決于其他一些事情。如果您不將其添加到類中,則不太可能需要將該函式作為引數傳遞給建構式(盡管可能有這樣做的理由,如果您總是傳遞相同的函式,則可能沒有意義)您可以在類方法中呼叫該函式。
isPrime 作為方法:
class PrimeNumbers{
constructor(number){
this.succes = "succes";
this.failure = "failure";
this.number = number;
}
printSomething(){
if (!this.isPrime(this.number)) {
console.log(this.succes);
} else {
console.log(this.failure);
}
}
isPrime(value) {
if (value == 1) return false;
for (let i = 2; i <= Math.sqrt(value); i ) {
if (value % i == 0) {
return false;
}
}
return true;
}
}
let primeTest = new PrimeNumbers(10);
primeTest.printSomething();
isPrime 作為從類中呼叫的函式:
顯示代碼片段
function isPrime(value) {
if (value == 1) return false;
for (let i = 2; i <= Math.sqrt(value); i ) {
if (value % i == 0) {
return false;
}
}
return true;
}
class PrimeNumbers{
constructor(number){
this.succes = "succes";
this.failure = "failure";
this.number = number;
}
printSomething(){
if (!isPrime(this.number)) {
console.log(this.succes);
} else {
console.log(this.failure);
}
}
}
let primeTest = new PrimeNumbers(10);
primeTest.printSomething();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470898.html
標籤:javascript 功能 班级 方法