我有2個JavaScript的變量有值替換字符串的一部分值Name
和Age
變量轉換爲message
字符串以替換值爲'John'和'14'的**Name**
和**Age**
?的Javascript中的特殊字符
var newmessage = 'I am John and my age is 14';
是否有我可以用來執行此操作的JavaScript函數?
我有2個JavaScript的變量有值替換字符串的一部分值Name
和Age
變量轉換爲message
字符串以替換值爲'John'和'14'的**Name**
和**Age**
?的Javascript中的特殊字符
var newmessage = 'I am John and my age is 14';
是否有我可以用來執行此操作的JavaScript函數?
使用String#replace
方法並從window
對象獲得變量(只有當變量在全局上下文中定義時才需要使用其他方法,您需要使用eval()
我不喜歡使用的方法)。
var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return window[m1];
});
console.log(newmessage)
或者使用的對象,而不是變量用於存儲值,讓你可以輕鬆地,甚至它不是在全球範圍內定義的值。
var obj = {
Name: 'John',
Age: '14'
};
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return obj[m1];
});
console.log(newmessage)
簡單string.replace()功能
var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
message = message.replace('**Name**' ,Name).replace('**Age**' , Age);
console.log(message)
簡單比普拉納夫回答 – Mahi
如果替換變量的數量是像這裏使用的固定數量一樣,我會選擇這個作爲簡單的答案(抱歉,我沒有在我的帖子中提到,我可以有更多) –
我給你+1如果我從名字中刪除'e',非常感謝你的朋友 –
這個怎麼樣的解決方案嘗試。如果這些子字符串實際上是字符串消息的一部分,則檢查FIRST。希望能幫助到你!
var Name = 'John';
var Age = '14';
var message = "I am **Name** and my age is **Age**";
console.log(myFunction(message));
function myFunction(str){
var finalMessage = "";
if(str.indexOf("**Name**") !== -1){
finalMessage = str.replace('**Name**' ,Name);
}
if(finalMessage.indexOf("**Age**") !== -1){
finalMessage = finalMessage.replace("**Age**" ,Age);
}
return finalMessage;
}
爲什麼窗口對象。什麼是'_'? – Mahi
@Mahi:你可以從'window'對象訪問全局變量 –
@Mahi:'_'是一個參數....因爲我們只需要捕獲的值,所以我們可以避免這一點....所以我只是使用'_' –