Javascript sass功能不工作

Javascript sass功能不工作,javascript,jquery,sass,scss-lint,Javascript,Jquery,Sass,Scss Lint,任何与代码相关的建议将不胜感激:) 函数str-remove-alphabet():- 此函数接受一个字符串作为参数。然后删除该字符串中的任何字母。并返回一个int值 // 3.str-alpha-remove function. removes alphabet from given string. @function str-remove-alphabet($string) { // local variables.

任何与代码相关的建议将不胜感激:)

函数str-remove-alphabet():- 此函数接受一个字符串作为参数。然后删除该字符串中的任何字母。并返回一个int值

// 3.str-alpha-remove function. removes alphabet from given string.   
@function str-remove-alphabet($string) {                              
// local variables.                                                 
// loop alphabets list to index occurence of alphabets in string    
@each $i in $list-alphabets {                                       
// if occurence found.                                            
  @if(str-index($string, $i)) {                                     
    $string: str-replace($string, $i, '');                          
    @return $string; // than replace that character with null.      
  } @else {                                                         
    @return $string; // otherwise return string.                    
  }                                                                 
 }                                                                   
}                                                                     
函数font-size():- 此函数接受两个参数。 1.字体大小和2。单位。并使用str remove alphabet函数将字体大小(如15px)转换为(如15)。成功返回后,开始计算给定单位的字体大小(如1.223342rem)

问题:-我无法在font-size()中调用str-remove-alphabet()。
函数
str remove alphabet
很可能没有执行所需的操作,因为例如,当
列表字母表中的第一个字符不匹配时,它会返回整个字符串,而不检查剩余的字符。。。类似地,当它找到第一个匹配字符时,它将替换字符串中的所有字符并返回结果。所以如果
$列出字母表:“p”“x”
,则输入
17px
将产生
17x

我想你的意思是这样的(
str索引
是不必要的,因为它被
str replace
调用):


函数
str remove alphabet
很可能没有执行所需的操作,因为例如,当
list alphabet
中的第一个字符不匹配时,它会返回整个字符串,而不检查其余字符。。。类似地,当它找到第一个匹配字符时,它将替换字符串中的所有字符并返回结果。所以如果
$列出字母表:“p”“x”
,则输入
17px
将产生
17x

我想你的意思是这样的(
str索引
是不必要的,因为它被
str replace
调用):


我不确定你的
str remove alphabet($string)
函数的目标是什么,但对我来说它看起来很简单

还要确保不要将值作为字符串传递,否则,如果要在算术运算中使用它们,就必须使用它们

我已经用一个⚠️.

/// Remove the unit of a length
/// @param {Number} $number - Number to remove unit from
/// @return {Number} - Unitless number
@function strip-unit($number) {
  @if type-of($number) == 'number' and not unitless($number) {
    @return $number / ($number * 0 + 1);
  }

  @return $number;
}

@function font-size($size, $unit: "em") {
    $size: strip-unit($size); // ⚠️ using strip-unit
    $base-font: strip-unit(15px); // ⚠️ using strip-unit
    @if($unit == "em") {
        $font-size: ($size / $base-font) * 1em; // ⚠️ * was missing
        @debug $font-size;
        @return $font-size; // returns font-size in em format
    } @else if($unit == "per") {
        $font-size: ($size / $base-font) * 100%;
        @debug $font-size;
        @return $font-size; // returns font-size in percentage format
    } @else {
        $font-size: ($size / $base-font) * 1rem;
        @debug $font-size;
        @return $font-size; // else return in rem format
    }
} 
因此,如果您这样运行:

.test{

font size:font size(12px,“per”);//我不确定您的
str remove alphabet($string)
函数的目标是什么,但它看起来很简单

还要确保不要将值作为字符串传递,否则,如果要在算术运算中使用它们,就必须使用它们

我已经用一个⚠️.

/// Remove the unit of a length
/// @param {Number} $number - Number to remove unit from
/// @return {Number} - Unitless number
@function strip-unit($number) {
  @if type-of($number) == 'number' and not unitless($number) {
    @return $number / ($number * 0 + 1);
  }

  @return $number;
}

@function font-size($size, $unit: "em") {
    $size: strip-unit($size); // ⚠️ using strip-unit
    $base-font: strip-unit(15px); // ⚠️ using strip-unit
    @if($unit == "em") {
        $font-size: ($size / $base-font) * 1em; // ⚠️ * was missing
        @debug $font-size;
        @return $font-size; // returns font-size in em format
    } @else if($unit == "per") {
        $font-size: ($size / $base-font) * 100%;
        @debug $font-size;
        @return $font-size; // returns font-size in percentage format
    } @else {
        $font-size: ($size / $base-font) * 1rem;
        @debug $font-size;
        @return $font-size; // else return in rem format
    }
} 
因此,如果您这样运行:

.test{
字体大小:字体大小(每英寸12像素)//
/// Remove the unit of a length
/// @param {Number} $number - Number to remove unit from
/// @return {Number} - Unitless number
@function strip-unit($number) {
  @if type-of($number) == 'number' and not unitless($number) {
    @return $number / ($number * 0 + 1);
  }

  @return $number;
}

@function font-size($size, $unit: "em") {
    $size: strip-unit($size); // ⚠️ using strip-unit
    $base-font: strip-unit(15px); // ⚠️ using strip-unit
    @if($unit == "em") {
        $font-size: ($size / $base-font) * 1em; // ⚠️ * was missing
        @debug $font-size;
        @return $font-size; // returns font-size in em format
    } @else if($unit == "per") {
        $font-size: ($size / $base-font) * 100%;
        @debug $font-size;
        @return $font-size; // returns font-size in percentage format
    } @else {
        $font-size: ($size / $base-font) * 1rem;
        @debug $font-size;
        @return $font-size; // else return in rem format
    }
}