Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3811|回复: 60

2023年尚硅谷大前端学习笔记

  [复制链接]

该用户从未签到

6

主题

137

帖子

278

积分

普通会员

Rank: 2

积分
278
发表于 2023-10-8 12:12:01 | 显示全部楼层 |阅读模式
6.WXS 脚本语言 6.1 什么是 wxs1、概念3 {/ u# R6 |8 d! g: W
    WXS 是微信小程序中的一种脚本语言,结合 WXML,可以构建出页面的结构。类似于JavaScript,但与 JavaScript 不同,WXS 有自己的语法
    * y( g3 _2 K8 }1 E" l* S% f
2、wxs 和 JavaScript 的区别
$ N* u2 L) S$ X
    9 T( w+ C6 e8 S  o* e9 l; z
  • wxs 有自己的数据类型; l/ T+ d' X( K. n) r* }- X
  • wxs 支持 CommonJS 模块化规范,可以将代码拆分为多个模块,提高代码的可读性和维护性6 n2 I) q! d( m% a5 r& R* z
  • wxs 支持基本的 JavaScript 语法和一些特有的语法,例如 模板字符串、var 等wxs 不支持 ES6 及以上的语法形式,例如:let 、const、解构等等等都不能使用
    . D0 C6 H* `1 J2 [
3、wxs 的使用场景
/ r* E; |5 H+ k. O/ \' M, t

    , M$ c* I2 W8 S' f5 p
  • 数据处理:实现类似于过滤器一样的功能,例如格式化日期、格式化数据等等& Q1 M" n# M6 S) ]
  • 逻辑控制:例如条件判断、循环、函数调用等等,也可以放在 wxs 中处理用以简化模板其他....* c- x" b7 g5 n/ z  H7 L
6.2 wxs 中的基础使用1、说明
+ a- j0 Q7 p  u7 k5 ^
    WXS 代码可以编写在 wxml 文件中的  标签内,或以 .wxs 为后缀名的文件内
      n4 e" U' W! W' h9 c
2、定义模块' u9 v. l  h. O+ B- [" \
    & D. p! n0 w% k5 j: H
  • 每一个 .wxs 文件和  标签都是一个单独的模块,每个模块都有自己独立的作用域0 n! H) f& j2 f
  • 即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现
    & {- T& a' ~& z
// /wxs/tools.wxs
  _! e! @/ B% L) N  K7 u% G ​( f# q7 ], f/ n0 Q6 U" r& e
var name = "Hello WXS"
( d9 ~' G  j4 t# h( _" u ​
7 r! _0 M! L5 Y8 h0 p: r6 l8 l var handler = function(val) {
3 a0 m8 [' `6 L' ]4 O# G  L4 C   return val.toUppercase()- F6 \" d0 K$ Z2 |! x- E2 M# W. R
}0 l" b- V( k/ q0 o% t' \" s
​
) d) N& N* A, F: i6 [; ^: C // module : 每个 wxs 模块均有一个内置的 module 对象,, r- T' w# n6 z- s6 t: S: H$ D
// exports: 通过该属性,可以对外共享本模块的私有变量与函数
; {5 y6 l: F- W& c4 {) L( u$ a module.exports = {
) R6 `* H6 V. A6 f, e+ }   name: name,
! b! B; L: Z* t& {# U# U% `8 ]   handler: handler1 ]( L5 h4 A% b# [2 W
}3、.wxml 中使用模块
" b5 G  T1 j$ U3 {8 s1 U9 I, g9 `
    在 .wxml 中引用 wxs 文件模块,需要使用 wxs 标签,引用的 .wxs 文件必须是相对路径可以通过 module 属性指定当前  标签的模块名可以通过 src 属性可以用来引用其他的 wxs 文件模块
    # m$ C" H$ G; [1 i! ~
  @! f7 r% j$ g+ @4 D* Y+ }+ I2 m

$ K# o. d; L) c0 r) S# w0 S
  g4 W2 T* q& B- z' R* t1 L/ \ ​
+ n( g' Y. B; j4 V8 ~" @  {{ tools.name }} : _. Q; L1 q5 ?) T' _9 @! {
  {{ tools.handler('wxs')}} # b- u( i; C9 L* U
    在 .wxs 模块中使用 require 函数可以引用其他 wxs 文件模块:
    / f1 T. K" r5 K. P5 L/ G
var tools = require("../wxs/tools.wxs");2 G2 X/ c$ A4 D1 m/ E
​: K" H+ @! y2 @$ x& ^4 l( {+ G
console.log(tools.name);
2 R# u( Q9 H" J9 V& A console.log(tools.bar("wxs"))4、示例 " ?* b- b% n4 F8 A4 K; Y5 p8 m
​
: w  b3 }3 w6 h0 {& { 9 _5 E1 P. H& F
   
. V; x/ Y0 A: U5 T6 {- B( f   0 Z: P) p, \) @' x( j/ V4 n. D/ r
   6 D2 H3 T+ P$ v; D
     var name = 'Tom'
+ h) O% ?9 M& Y8 l' q ​
. l  p, |. J7 `" F# e     function handle() {
" b/ r6 _; H$ T4 T5 \) d! v       return name
8 S: p! c0 n& c. _- i     }" g- t2 z, L& j! C
​' d1 V- p2 Y5 [# P7 ^+ w
     module.exports = {
1 `$ J  E% ^: ?' U( Q4 I7 C7 Z       name: name,
( U  ~. K/ b& Z% W3 A& T5 A8 M       handle: handle5 X3 q, @! e9 O' K
     }
+ P: f* c' c& l8 w   9 T( t6 q& k1 G# n: Q' U: o
​
; K, F" h. _1 m4 n) G! {3 [: F   ' Y  w" F  O4 s  f
   {{ module.name }}& d( [8 b1 I. |6 R8 v
   {{ module.handle() }}7 l9 M/ L+ }: j9 V
​! k& c7 s4 d$ C0 N8 e- v
   
1 B7 V5 A& _0 ^0 b; x% A+ L- [; _   9 a8 X% B% ]. x2 c- U
     / H- Z1 m9 E" Q: [" |6 e
   {{ module1.formatPhone('18361261111') }}
, D5 }) G" U! M9 j/ p- C 6.3 wxs 过滤器案例1、需求
3 y% ^/ }! B1 ^; B$ S$ E4 G3 J7 \
    实现对手机号的格式化,将手机的 第四位 到 第七位 使用 * 号代码
    4 ?" f8 b+ h7 I* L" D" V/ N
file://F:/32.%E6%88%91%E7%9A%84%E5%89%8D%E7%AB%AF%E7%AC%94%E8%AE%B0/2022%E5%B9%B4%E5%89%8D%E7%AB%AF%E7%AC%94%E8%AE%B0/14-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E5%B0%9A%E7%A1%85%E8%B0%B7/01-%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%9F%BA%E7%A1%80.assets/%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%89%8B%E6%9C%BA%E5%8F%B7.jpg?lastModify=16967234372、实现步骤) V2 B% j' M: u  P! g: Y; o  O

    0 v3 b' Q4 x) ^; W; k
  • 在小程序项目中创建一个名为 /wxs/phone.wxs 的 WXS 文件,用于编写封装函数: x. t& x7 _7 f! f% ^2 g, y' Q
  • 在 phone.wxs 文件中,编写一个名为 formatPhone 的函数,用于格式化手机号在小程序的页面中,引入 phone.wxs 文件,并调用 formatPhone 函数: x* f/ K) x8 U3 i5 x4 b! G
3、落地代码" u* p3 X' v8 f9 V* E+ E
    pages/index/index.wxs 中的代码:- e1 F9 t/ z' R  `+ d) p
// 格式化手机
& v" q+ K2 W; o6 k* v! a" C function formatPhone(phone) {8 O2 q2 s% `6 w0 x
   // 如果手机长度不等于 11,直接将手机号返回
' Y* n3 ^* U3 y# \   if (phone.length != 11) {# b" }! ?0 H# U+ I& S
     return mobile;
1 \' F! ^% J7 X  O" z   }
# V  G, [" h# x4 T' F7 k   7 g! m( B, S! `( [5 m& A3 R! D
   return phone.slice(0, 3) + '****' + phone.slice(7);
9 d9 g8 I$ Y) O }
8 i4 e" ?, F0 ?' Q, m2 }7 `9 F ​; l- Q0 o+ _- m) y" B
// 导出模块
$ r+ F/ T/ u: g, H module.exports = {8 w. f0 ?6 Z: t2 }+ i6 ^5 W1 S
   formatPhone: formatPhone5 t! [: S/ I: G1 n& G8 E  f
}
; m/ J; z8 p9 Y+ D, h8 E) h
    pages/index/index.wxml 中的代码:
    4 X% u! o0 `) v: v% H! C+ c
9 z3 v9 t% I2 O) ?8 }% K$ Z2 h
​
$ Z4 H& b7 E: J 格式化后的号码:{{phone.formatPhone(phoneNum)}}' x: b" o' e) R5 q: H( L

3 D0 D' C. ^3 A/ V% v0 O" D6 l' J/ T# L8 ~8 b( M6 _, a. I) f0 C
+ A# x$ ]8 R9 Z! r$ [
121202i2lxodalo424nq4y.png 121204lrvhy8z9vzroyseo.png + f. c% D; y/ F- O7 p& @
资源下载地址和密码(百度云盘):
游客,如果您要查看本帖隐藏内容请回复
[/hide] 百度网盘信息回帖可见' T! m5 H5 E: T4 y  y+ N: }
* D) U! ?/ R; L0 g2 ^% s7 y2 |
. Z+ h9 d0 T" W- ~+ F$ E* R( N

" C, ^8 c1 E2 S4 M本资源由Java自学网收集整理【www.javazx.com】
回复

使用道具 举报

该用户从未签到

4

主题

161

帖子

320

积分

普通会员

Rank: 2

积分
320
发表于 2023-10-8 11:25:28 | 显示全部楼层
2023年尚硅谷大前端学习笔记
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

166

帖子

338

积分

普通会员

Rank: 2

积分
338
发表于 2023-10-8 11:38:38 | 显示全部楼层
2023年尚硅谷大前端学习笔记
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

136

帖子

270

积分

普通会员

Rank: 2

积分
270
发表于 2023-10-8 11:56:21 | 显示全部楼层
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

152

帖子

295

积分

普通会员

Rank: 2

积分
295
发表于 2023-10-8 12:04:59 | 显示全部楼层
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

152

帖子

298

积分

普通会员

Rank: 2

积分
298
发表于 2023-10-8 12:12:15 | 显示全部楼层
真是难得给力的帖子啊。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4026

帖子

8056

积分

普通会员

Rank: 2

积分
8056
发表于 2023-10-25 07:43:51 | 显示全部楼层
学习学习啦
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-6-11 11:45
  • 签到天数: 1 天

    [LV.1]初学乍练

    0

    主题

    4014

    帖子

    8047

    积分

    普通会员

    Rank: 2

    积分
    8047
    发表于 2023-11-20 16:05:32 | 显示全部楼层
    66666,很棒
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-7-24 00:03
  • 签到天数: 4 天

    [LV.2]登堂入室

    0

    主题

    4077

    帖子

    8238

    积分

    普通会员

    Rank: 2

    积分
    8238
    发表于 2023-12-15 09:38:45 | 显示全部楼层
    这么优秀的么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    4081

    帖子

    8164

    积分

    普通会员

    Rank: 2

    积分
    8164
    发表于 2024-1-3 08:23:30 | 显示全部楼层
    好,很好,非常好!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2024-11-22 10:59 , Processed in 0.269357 second(s), 31 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表