iT邦幫忙

1

新手jQuery一問,前後用+包住是甚麼意思呢?

小弟自學JQ卡關中
例如 "'+score_id+'"
請問這時代表甚麼呢~>~

Season iT邦研究生 4 級 ‧ 2020-06-11 09:26:52 檢舉
字串串變數
let score_id = 1;
let output = "#divID_"+ score_id; //字串(#divID_) 串 變數(score_id)
console.log(output); //輸出為 #divID_1
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

7
japhenchen
iT邦超人 1 級 ‧ 2020-06-11 07:48:17

前端HTML串javascript變數用的方法之一
JS ES6裡又加上了字串插補的功能

$("#tabletr").append(`<td>${score_id}</td><td>${student_name}</td><td>${score_math}</td>`);

字串插補蠻多語言愛用的,JS也不例外,至少不用像你的例子一樣,一堆 + 看了花路路
這個APPEND裡用到的字串前後用的單引號,是跟毛毛蟲放在一起的那個 ` 哦!別搞混了

string interpolation 我直譯字串插補(變數)
就是把

    '<div>' + var + '</div>'

轉變成

    `<div>${var}</div>` 

的方法,比較直觀且簡短,而且不用一堆 + 看了就煩,+ 用多了也容易把數值相加操作及字串疊加搞混

字串插補,說穿了就是把string.format給簡化而已,啊javascript並沒有內建string.format的函數給你用,除非自己掰prototype(網上有做法),不然就是跟你一樣,一堆單引雙引加號串到沒人看的懂..

7

先校正一下觀念。

+....+ 是javascript的前端語法。
不是jq專屬的。先不要誤會這是jq用的方法。
或是把jq當一套新的前端語言了。

回來一下正題。

其實在javascript中的「+」符合有個很討厭的特性。
因為它可以是字串相連,也可以是數值相加。
要相連還是相加,完全看你給的變數自動解釋。

而你的問題,你截斷的方式是在有點神奇了。

"'+score_id+'"

我大膽假設因該是

var str = 'id="'+score_id+'"';

由於你沒po全部,我就拿我的當範例。
將「+」做區段。
你會看到其實實際上是這三段

「'id="'」+ 「score_id」 + 「'"'」

拆解這樣子就有看清楚了吧?

另外 japhenchen 的文章可以多學一下。

我要發表回答

立即登入回答