热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Sass语法(二)之函数

一.函数1.字符串函数-unquote()函数用来处理字符串的函数。Sass的字符串函数主要包括两个函数:unquote($string):删除字符串中的引号;quote(
一.函数

1.字符串函数-unquote()函数

用来处理字符串的函数。Sass 的字符串函数主要包括两个函数:
       unquote($string):删除字符串中的引号;
      quote($string):给字符串添加引号。

①unquote($string)删除字符串中的引号


unquote() 函数主要是用来删除一个字符串中的引号,如果这个字符串没有带有引号,将返回原始的字符串。

//SCSS
.test1 {
content: unquote('Hello Sass!') ;
}
.test3 {
content: unquote("I'm Web Designer");
}
.test4 {
content: unquote("'Hello Sass!'");
}
.test5 {
content: unquote('"Hello Sass!"');
}
.test6 {
content: unquote(Hello Sass);
}
编译后的 css 代码://CSS.test1 {  content: Hello Sass!; }.test3 {  content: I'm Web Designer; }.test4 {  content: 'Hello Sass!'; }.test5 {  content: "Hello Sass!"; }.test6 {  content: Hello Sass; }

unquote( ) 函数只能删除字符串最前和最后的引号(双引号或单引号),而无法删除字符串中间的引号。

② quote($string)给字符串添加引号


quote() 函数刚好与 unquote() 函数功能相反,主要用来给字符串添加引号。如果字符串,自身带有引号会统一换成双引号 ""。
//SCSS
.test1 {
content: quote('Hello Sass!');
}
.test2 {
content: quote("Hello Sass!");
}
.test3 {
content: quote(ImWebDesigner);
}
.test4 {
content: quote(' ');
}
编译出来的 css 代码:

//CSS
.test1 {
content: "Hello Sass!";
}
.test2 {
content: "Hello Sass!";
}
.test3 {
content: "ImWebDesigner";
}
.test4 {
content: "";
}

注意:
使用 quote() 函数只能给字符串增加双引号,而且字符串中间有单引号或者空格时,需要用单引号或双引号括起,否则编译的时候将会报错。

.test1 {
    content:  quote(Hello Sass);//这样使用,编译器马上会报错。
}

解决方案就是去掉空格,或者加上引号

.test1 {
    content:  quote(HelloSass);
}
.test1 {
    content:  quote("Hello Sass");
}
同时 quote() 碰到特殊符号,比如: !、?、> 等,除中折号 - 和 下划线_ 都需要使用双引号括起,否则编译器在进行编译的时候同样会报错.

③To-upper-case()将小写转换成大写

To-upper-case() 函数将字符串小写字母转换成大写字母。
//SCSS
.test {
text: to-upper-case(aaaaa);
text: to-upper-case(aA-aAAA-aaa);
}
编译出来的 css 代码:

//CSS
.test {
text: AAAAA;
text: AA-AAAA-AAA;
}


④To-lower-case()将字符串转换成小写字母

To-lower-case() 函数 与 To-upper-case() 刚好相反,将字符串转换成小写字母:

//SCSS
.test {
text: to-lower-case(AAAAA);
text: to-lower-case(aA-aAAA-aaa);
}
编译出来的 css 代码:

//CSS
.test {
text: aaaaa;
text: aa-aaaa-aaa;
}


2.数字函数

针对数字提出一系列函数功能,注意:带单位的数值时,单位要相同

① percentage($value)换成百分比值

将一个不带单位的数转换成百分比值; .footer{
    width : percentage(.2);
    padding:percentage(3px/10px); 
}
编译后的 css 代码:
.footer{
    width : 20%;
  padding:30%;
}

②round($value)四舍五入

将数值四舍五入,转换成一个最接近的整数;
>> width:round(12.3)-----//12
>> width:round(12.5)-----//13
>> width:round(1.49999)-----//1
>> width:round(2.0)-----//2
>> width:round(20%)-----//20%
>> width: round(2.2%)-----//2%
>> width:round(1px / 3px)-----//0
>> width:round(3px / 2em)-----//报错


③ceil($value)将小数大于1的数转换成下一位整数

ceil() 函数将小数大于本身 1的数转换成 的整数。
.footer {
width:ceil(6.0); //----6
width:ceil(12.3px);//----13px
width:ceil(2.6);//----3
width: ceil(2.3%);//---3%
width:ceil(2px / 3px);//---1
width:ceil(2% / 3px);//-----报错
width:ceil(1em / 5px)//-----报错
}


④floor($value)去除小数部分

将一个数去除他的小数部分;
.footer {
width:floor(2.1); //----2
width:floor(12.3px);//----12px
width:floor(2.8);//----2
width:floor(3.5%);//---3%
width:floor(2px / 10px)//---0
width: floor(3px / 1em);//-----报错
}

⑤abs($value)返回一个数的绝对值

.footer {
width:abs(12.3px); //----12.3px
width:abs(-12.3px);//---- 12.3px
width:abs(-1px / 2px);//----2
width:abs(-.5%);//--- 0.5%
}



⑥min()最小值和max()最大值

min()找出几个数值之间的最小值;max()找出几个数值之间的最大值;
.footer {
width:max(10px,23px,10,2);
height:min(10px,23px,10,2);
}
编译成css
.footer {
width: 23px;
height: 2;
}

传入list求值时:

$list: (50,45px,299px,93);
.footer {
width:max($list...);
height:min($list...);
}
编译成css

.footer {
width: 299px;
height: 45px;
}

⑧random():获取随机数


3.列表函数

①length($list)返回一个列表的长度值

列表参数之间使用空格隔开,不能使用逗号,否则函数将会出错

>> length(10px)  -----1
>> length(10px 20px (border 1px solid) 2em)-----4
>> length(border 1px solid)--------3
>> length(10px,20px,(border 1px solid),2em)----报错


②nth($list, $n)指定某标签值

返回一个列表中指定的某个标签值(1 是指列表中的第一个标签值,2 是指列给中的第二个标签值,依此类推)

.footer {
background:nth(red green,2);
}
或是
$list:(red green);
.footer {
background:nth($list,2);
}

编译成css
.footer {
    background: green;
}

注:在 nth($list,$n) 函数中的 $n 必须是大于 0 的整数


③join($list1, $list2, [$separator])连接成列表

只能将两个列表给连接成一个列表,俩个移上成列表

>> join(10px 20px, 30px 40px)
(10px 20px 30px 40px)

>> join((blue,red),(#abc,#def))
(#0000ff, #ff0000, #aabbcc, #ddeeff)

//多个列表连接,需要将多个join()函数合并在一起使用:
>> join((blue red), join((#abc #def),(#dee #eff)))
(#0000ff #ff0000 #aabbcc #ddeeff #ddeeee #eeffff)

除此之外,还有很特别的参数$separator,用来指定列表连接之间的分隔符的,默认为auto,还有comma(逗号)和space(空格)!


④append($list1, $val, [$separator])将某个值放在列表的最后

用来指定列表连接之间的分隔符的,默认为auto,还有comma(逗号)和space(空格)!


>> append((blue green),red,comma)
(#0000ff, #008000, #ff0000)

>> append((blue green),red,space)
(#0000ff #008000 #ff0000)

>> append(10px 20px ,30px)
(10px 20px 30px)


⑤zip($lists…)合成一个多维的列表

将多个列表结合成一个多维的列表

>> zip(1px 2px 3px,solid dashed dotted,green blue red)
1px "solid" #008000, 2px "dashed" #0000ff, 3px "dotted" #ff0000


在使用zip()函数时,每个单一的列表个数值必须是相同的:



zip()函数组合出来就成了:
1px solid green, 2px dashed blue, 3px dotted red


⑥index($list, $value)返回一个值在列表中的位置值

第一个值就是1,第二个值就是 2,依此类推

>> index(1px solid red, 1px)-----1
>> index(1px solid red, solid)-----2
>> index(1px solid red, red)-----3

在 index() 函数中,如果指定的值不在列表中(没有找到相应的值),那么返回的值将是 false,相反就会返回对应的值在列表中所处的位置。


>> index(1px solid red,dotted) //列表中没有找到 dotted
false
>> index(1px solid red,solid) //列表中找到 solid 值,并且返回他的位置值 2
2


⑦Introspection判断型函数

用来对值做一个判断的作用。


a.type-of($value)返回一个值的类型

number 为数值型。 string 为字符串型。 bool 为布尔型。 color 为颜色型。


type-of(100)或是type-of(100px)----"number"
>> type-of("asdf")或是type-of(asdf)或是type-of(1 / 2 = 1)-----"string"
>> type-of(true)-----"bool"
>> type-of(#fff)或是type-of(blue)----"color"

b.unit($number)返回一个值的单位

用来获取一个值所使用的单位,碰到复杂的计算时,其能根据运算得到一个“多单位组合”的值,不过只充许乘、除运算:


>> unit(100)----""
>> unit(100px)----"px"
>> unit(20%)---"%"
>> unit(1em)----"em"
>> unit(10px * 3em)---"em*px"
>> unit(10px / 3em)----"px/em"
>> unit(10px * 2em / 3cm / 1rem)---"em/rem"


但加、减碰到不同单位时,unit() 函数将会报错,除 px 与 cm、mm 运算之外:

>> unit(1px + 1cm)---"px"
>> unit(1px - 1cm)---"px"
>> unit(1px + 1mm)---"px"
>> unit(10px * 2em - 3cm / 1rem)-----报错


unit() 函数对于单位运算相对来说也没有规律,而且有些单位也无法整合成一个单位,对于我们在 CSS 中运用中并不适合,比如:

>> unit(10px * 3em)---"em*px"
>> unit(10px / 3em)----"px/em"
>> unit(10px * 2em / 3cm / 1rem)---"em/rem"
上面运算出来的单位,对于在 CSS 中使用将是没有任何意义的。

c.unitless($number)是否带有单位

只是用来判断一个值是否带有单位,如果不带单位返回的值为 true,带单位返回的值为 false

>> unitless(100px)或是 unitless(100%)或是unitless(1px /2 + 2 )---false
>> unitless(100)或是 unitless(1 /2 )或是unitless(1 /2 + 2 )---true

代码实现:用户在调用混合宏时,如果用户没有给参数值加上单位,程序会自动加入单位。

@mixin adjust-location($x, $y) {
@if unitless($x) {
$x: 1px * $x;
}
@if unitless($y) {
$y: 1px * $y;
}
position: relative;
left: $x;
top: $y;
background:red;
}
.botton{
@include adjust-location(20px, 30);
}
编译过来的CSS:
.botton {
position: relative;
left: 20px;
top: 30px;
background: red;
}

d.comparable($number-1, $number-2)判断两个值是否可以做加、减和合并

主要是用来判断连俩个数是否可以进行“加,减”以及“合并”。如果可以返回的值为true,如果不可以返回的值是false:
到不同单位时,将会报错,除 px 与 cm、mm 运算之外:

>> comparable(2px,1px)或是 comparable(2px,1mm)或是 comparable(2cm,1mm)---true
>> comparable(2px,1%)或是comparable(2px,1em)或是comparable(2rem,1em)----false

⑧.Miscellaneous函数

在这里吧Miscellaneous函数称为三元条件函数,主要因为他和Javascript中的三元判断非常的相似。他有两个值,当条件成立返回一种值,当条件不成立时返回另一种值:
if($condition,$if-true,$if-false)
上面表达式的意思是当$condition条件成立时,返回的值为 $if-true,否则返回的是 $if-false 值。
>> if(true,1px,2px)----1px
>> if(false,1px,2px)----2px


4. 颜色函数

①RGB()颜色函数

A.rgb($red,$green,$blue):根据红、绿、蓝三个值创建一个颜色;
eg:rgb(200,40,88) //计算出一个十六进制颜色值  #c82858

B.rgba() 函数主要用来将一个颜色根据透明度转换成 rgba 颜色

俩种格式:

rgba($red,$green,$blue,$alpha):根据红、绿、蓝和透明度值创建一个颜色;

rgba($color,$alpha)


eg:rgba(#c82858,.65) //根据透明度计算出一个rgba颜色值
rgba(200, 40, 88, 0.65)

C.red($color):从一个颜色中获取其中红色值
eg:red(#c82858) //从#c82858颜色值中得到红色值 200

D.green($color):从一个颜色中获取其中绿色值
eg: green(#c82858) //从#c82858颜色值中得到绿色值 40

E.blue($color):从一个颜色中获取其中蓝色值
eg:blue(#c82858) //从#c82858颜色值中得到蓝色值 88

F.mix($color-1,$color-2,[$weight]):把两种颜色混合在一起。

$color-1 和 $color-2 指的是你需要合并的颜色,颜色可以是任何表达式,也可以是颜色变量。
$weight 为 合并的比例(选择权重),默认值为 50%,其取值范围是 0~1 之间。

//SCSS
$color1: #a63;
$color2: #fff;
$bgColor1: #f36;
$bgColor2: #e36;
$borderColor1:#c36;
$borderColor2:#b36;

.mix {
background: mix($bgColor1,$bgColor2,.75);
color: mix($color1,$color2,.25);
border-color: mix($borderColor1,$bgColor2,.05);
}
编译的 css 代码:

//CSS
.mix {
background: #ee3366;
color: #fefefe;
border-color: #ed33
}

②HSL()颜色函数

a.hsl($hue,$saturation,$lightness)
通过色相(hue)、饱和度(saturation)和亮度(lightness)的值创建一个颜色;

eg: hsl(200,30%,60%) //通过h200,s30%,l60%创建一个颜色#7aa3b8


b.hsla($hue,$saturation,$lightness,$alpha)
通过色相(hue)、饱和度(saturation)、亮度(lightness)和透明(alpha)的值创建一个颜色;

eg:hsla(200,30%,60%,.8)//通过h200,s30%,l60%,a80%创建一个颜色

rgba(122, 163, 184, 0.8)


c.hue($color)
从一个颜色中获取色相(hue)值;

eg:hue(#7ab)//得到#7ab颜色的色相值 195deg


d.saturation($color)
从一个颜色中获取饱和度(saturation)值;

eg:saturation(#7ab)//得到#7ab颜色的饱和度值 33.33333%


e.lightness($color)
从一个颜色中获取亮度(lightness)值;

eg:lightness(#7ab)//得到#7ab颜色的亮度值  60%


f.adjust-hue($color,$degrees)
通过改变一个颜色的色相值,创建一个新的颜色;

eg:adjust-hue(#f36,150deg) //改变#f36颜色的色相值为150deg

#33ff66
 


g.lighten($color,$amount)
通过改变颜色的亮度值,让颜色变亮,创建一个新的颜色;

eg:lighten(#f36,50%) //把#f36颜色亮度提高50%

#ffffff


h.darken($color,$amount)
通过改变颜色的亮度值,让颜色变暗,创建一个新的颜色;

eg:darken(#f36,50%) //把#f36颜色亮度降低50%
#33000d


i.saturate($color,$amount)
通过改变颜色的饱和度值,让颜色更饱和,从而创建一个新的颜色

eg:saturate(#f36,50%) //把#f36颜色饱和度提高50%
#ff3366


j.desaturate($color,$amount)
通过改变颜色的饱和度值,让颜色更少的饱和,从而创建出一个新的颜色;

eg:desaturate(#f36,50%) //把#f36颜色饱和度降低50%
#cc667f


k.grayscale($color)
将一个颜色变成灰色,相当于desaturate($color,100%);

eg:grayscale(#f36) //把#f36颜色变成灰色
#999999


l.complement($color)
返回一个补充色,相当于adjust-hue($color,180deg);

eg:complement(#f36)
#33ffcc


m.invert($color)
反回一个反相色,红、绿、蓝色值倒过来,而透明度不变。

eg:invert(#f36)
#00cc99


③Opacity()颜色函数

a.alpha($color) /opacity($color)获取颜色透明度值
eg:
.footer {  
backfround:alpha(red)或是opacity(red)---1
color:alpha(rgba(red,.8))或是 opacity(rgba(red,.8))----0.8
}
b.rgba($color, $alpha)改变颜色的透明度值
eg:
>> rgba(red,.5)----rgba(255, 0, 0, 0.5)
>> rgba(rgb(34,45,44),.5)----rgba(34, 45, 44, 0.5)
>> rgba(rgba(33,45,123,.2),.5)---rgba(33, 45, 123, 0.5)
>> rgba(hsl(33,7%,21%),.5)-----rgba(57, 54, 50, 0.5)
>> rgba(hsla(33,7%,21%,.9),.5)------rgba(57, 54, 50, 0.5)

c.opacify($color, $amount) / fade-in($color, $amount)使颜色更不透明
eg:
>> opacify(rgba(22,34,235,.6),.5)---#1622eb
>> opacify(hsla(22,34%,23%,.6),.415)----#4f3527
>> opacify(red,.15)----#ff0000

>> fade-in(rgba(23,34,34,.5),.15)----rgba(23, 34, 34, 0.65)
>> fade-in(rgba(23,34,34,.5),.615)------#172222

d.transparentize($color, $amount) / fade-out($color, $amount)使颜色更加透明
eg:
>>  transparentize(red,.5)-----rgba(255, 0, 0, 0.5)
>> fade-out(hsla(98,6%,23%,.5),.1)---rgba(58, 62, 55, 0.4)


案例七色卡:https://code.csdn.net/snippets_manage


5.map函数--数据地图

Sass 的 map 常常被称为数据地图,也有人称其为数组,因为他总是以 key:value 成对的出现,但其更像是一个 JSON 数据。

$map: (
    $key1: value1,
    $key2: value2,
    $key3: value3
)
中键 key 是用来查找相关联的值 value。使用 map 可以很容易收集键的值和动态插入。

eg:

$theme-color: (
default: (
color: #2196f3,
text-color: #444,
link-color: #39f
),
primary:(
color: #000,
text-color:#fff,
link-color: #93f
),
negative: (
color: #f36,
text-color: #fefefe,
link-color: #d4e
)
);
@each $keys,$values in $theme-color{
.theme-color-#{$keys}{

@each $key,$value in $values{

#{$key}:#{$value}
}
}

}

编译成css:.theme-color-default {  color: #2196f3;  text-color: #444;  link-color: #39f;}.theme-color-primary {  color: #000;  text-color: #fff;  link-color: #93f;}.theme-color-negative {  color: #f36;  text-color: #fefefe;  link-color: #d4e;}

a.map-get($map,$key)给定的key返回相关的值

 函数的作用是根据 $key 参数,返回 $key 在 $map 中对应的 value 值。如果 $key 不存在 $map中,将返回 null


$social-colors: (
dribble: #ea4c89,
facebook: #3b5998,
twitter: #55acee
);
.btn-dribble{
color: map-get($social-colors,facebook);
}
编译成css;
.btn-dribble {
color: #3b5998;
}


b.map-merge($map1,$map2)将两个map并成新map

如果你要快速将新的值插入到 $map 中的话,这种方法是最佳方法.$newmap: map-merge($color,$typo);

$color: (
text: #f36,
link: #f63,
border: #ddd,
backround: #fff
);
$typo:(
font-size: 12px,
line-height: 1.6
);
$newmap: map-merge($color,$typo);
.btn-dribble{
color: map-get($newmap,backround);
}
编译:
.btn-dribble {
color: #fff;
}


c.map-remove($map,$key)删除一个key,返回新map

但并不能直接从一个 map 中删除另一个 map,仅能通过删除 map 中的某个 key 得到新 map

$map:map-remove($theme-color,color);

$theme-color: (
color: #2196f3,
text-color: #444,
link-color: #39f
);
$map:map-remove($theme-color,color);
.theme-color{
@each $key,$value in $map{
#{$key}:#{$value}
}
}
编译成css:
.theme-color {
text-color: #444;
link-color: #39f;
}



d.map-keys($map)返回map中所有的key

将会返回 $map 中的所有 key。这些值赋予给一个变量,那他就是一个列表:map-keys($social-colors);


$social-colors: (
dribble: #000,
facebook: #333,
twitter: #55acee
);
@function colors($color){
$names: map-keys($social-colors);
@if not index($names,$color){
@warn "Waring: `#{$color} is not a valid color name.`";
}
@return map-get($social-colors,$color);
}
@each $name in map-keys($social-colors){
.btn-#{$name}{
color: colors($name);
}
}
编译成css:
.btn-dribble {
color: #000;
}
.btn-facebook {
color: #333;
}
.btn-twitter {
color: #55acee;
}

e.map-values($map)返回map中所有的value

$social-colors: (
    dribble: #000,
    facebook: #333,
    twitter: #55acee
);
将会返回 $map 中的所有value。这些值赋予给一个变量,那他就是一个列表:map-values($social-colors)

f.map-has-key($map,$key)给定的key值判断是否有对应的value

如果有返回 true,否则返回 false。

$social-colors: (
dribble: #000,
facebook: #3b5998,
twitter: #55acee
);
@function colors($color){
@if not map-has-key($social-colors,$color){
@warn "No color found for `#{$color}` in $social-colors map. Property omitted.";
}
@return map-get($social-colors,$color);
}
@each $social-network,$social-color in $social-colors {
.btn-#{$social-network} {
color: colors($social-network);
}
}
编译成css:
.btn-dribble {
color: #000;
}
.btn-facebook {
color: #3b5998;
}
.btn-twitter {
color: #55acee;
}

注意:

i.自定义一个函数 colors()

ii.facebook 这个 key 已存在 $social-colors 这个 map 当中,能正常编译;如果你手误,将 facebook 输错了,则错。所以需要@if来判断


g.keywords($args)返回一个函数的参数

这个参数可以动态的设置 key 和 value。
       keywords($args) 函数可以说是一个动态创建 map 的函数。可以通过混合宏或函数的参数变创建 map。参数也是成对出现,其中 $args 变成 key(会自动去掉$符号),而 $args 对应的值就是value。

@mixin mycolors($args...){
$list: keywords($args);
@each $k,$v in $list{
.btn-#{$k}{
color:$v;
}
}
}

@include mycolors(
$dribble: #ea4c89,
$facebook: #3b5998,
$twitter: #55acee
);
编译成css:
.btn-dribble {
color: #ea4c89;
}

.btn-facebook {
color: #3b5998;
}

.btn-twitter {
color: #55acee;
}


6.自定义函数

SASS允许用户编写自己的函数:
@function double($n) {
@return $n * 2;
}
#sidebar {
width: double(5px);
}


推荐阅读
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 热血合击脚本辅助工具及随机数生成器源码分享
    本文分享了一个热血合击脚本辅助工具及随机数生成器源码。游戏脚本能够实现类似真实玩家的操作,但信息量有限且操作不可控。热血合击脚本辅助工具可以帮助玩家自动刷图、换图拉怪等操作,并提供了雷电云手机的扩展服务。此外,还介绍了使用mt_rand函数作为随机数生成器的代码示例。 ... [详细]
author-avatar
阿宝宝86
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有