# 09: Геттерс анд Сеттерс - ЦСС-трикови

Anonim

Концепт гетера и постављача у ЈаваСцрипт-у само је једна од ствари које бисте требали разумети. Они су лепи у јКуерију јер је АПИ толико доследан да када га једном добијете, можете прилично претпоставити како ће то функционисати за разне методе. На најосновнијем нивоу ...

Сетери нешто раде .
Гетери враћају вредност .

Често се појединачна метода може користити на било који начин. Узмимо за пример метод висине.

// Used as a "setter" - will set the height $("#example").height(100); // Used as a "getter" - will return a value var theHeight = $("#example").height();

Види разлику? Постављач преноси параметар када се користи метода. Гетер ништа не пролази . Тако јКуери и сам зна шта треба да ради. Само се тестира да ли постоји параметар или не. Ако не, понаша се попут добивача. Ако је тамо, понаша се попут постављача. То је само лепа погодност АПИ-ја, уместо да имате одвојене методе попут гетХеигхт и сетХеигхт.

Вреди напоменути да гетер који се користи сам по себи не чини ништа.

// Useless $("#example").height();

А ако поставите вредност променљиве помоћу сетера, вратиће се објекат јКуери.

// x will be a jQuery object containing #example var x = $("#example").height(100);

То може бити збуњујућа длака, али уједно и мали трик за уштеду кода. Ако знате да требате обје кеширати тај јКуери објекат и подесити његову висину, можда то и учините у једном реду кода.

Погледајте оловку 8фф68485673396д452ф650бфб437фб2а Цхриса Цоииера (@цхрисцоииер) на ЦодеПен

Такође се у чланку помиње box-sizing: border-box;. Величина оквира је изузетно корисно ЦСС својство. Велики сам заговорник постављања на све елементе, попут:

* ( box-sizing: border-box; )

Као што је забележено у видеу, ово такође чини height()јКуери мало предвидљивијим и доследнијим. Без оквира са оквиром, height()једнако је својству висине у ЦСС-у или било којој висини елемента који је природно, минус паддинг и бордер. Са border-boxсетом, height()тачно је колико висина заузима тај елемент на екрану, укључујући облоге и обрубе. Без border-boxподешавања, да бисте то добили, морате да користите outerHeight()у јКуери-у.