Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5715|回复: 76

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

  [复制链接]

该用户从未签到

10

主题

152

帖子

310

积分

普通会员

Rank: 2

积分
310
发表于 2023-10-8 12:12:01 | 显示全部楼层 |阅读模式
6.WXS 脚本语言 6.1 什么是 wxs1、概念- p0 ^" z/ p" C
    WXS 是微信小程序中的一种脚本语言,结合 WXML,可以构建出页面的结构。类似于JavaScript,但与 JavaScript 不同,WXS 有自己的语法
    ! h% ~8 U8 I) r# l3 {4 l
2、wxs 和 JavaScript 的区别/ G0 I( b4 f9 e- O& H, T

    % N, }" u1 A- g4 {
  • wxs 有自己的数据类型
    . |6 x) p% A, J2 e9 B8 x1 v
  • wxs 支持 CommonJS 模块化规范,可以将代码拆分为多个模块,提高代码的可读性和维护性! N5 d* b1 c3 b' e% U) R9 c1 \: ]0 b
  • wxs 支持基本的 JavaScript 语法和一些特有的语法,例如 模板字符串、var 等wxs 不支持 ES6 及以上的语法形式,例如:let 、const、解构等等等都不能使用
    $ u3 `* d! A# m4 J- m0 ~  b
3、wxs 的使用场景
$ N, m; e% m8 K0 [% n
    1 m4 q' j3 v7 J- P; k
  • 数据处理:实现类似于过滤器一样的功能,例如格式化日期、格式化数据等等
    : Q: J. R" C9 I: L" _
  • 逻辑控制:例如条件判断、循环、函数调用等等,也可以放在 wxs 中处理用以简化模板其他....2 S( {1 I% S) v
6.2 wxs 中的基础使用1、说明
* w/ t8 ?( v* [' _$ l* a
    WXS 代码可以编写在 wxml 文件中的  标签内,或以 .wxs 为后缀名的文件内
    / r) W; l$ D2 K
2、定义模块
9 m$ y9 [6 s5 ?' b# _& n
    5 G2 S- k5 n* N
  • 每一个 .wxs 文件和  标签都是一个单独的模块,每个模块都有自己独立的作用域+ o  J% [- H! m2 G& \+ M" ~. u7 N
  • 即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现
    7 d: \4 p% f' U
// /wxs/tools.wxs, B6 F# p4 N+ g
​
/ q$ u! O% I2 k var name = "Hello WXS"
! i8 g6 _" F& O# L6 K) z6 N! r$ N ​
$ F- W4 ~  I; u var handler = function(val) {
, Z' b& f) a, S8 x" ?. |- Z   return val.toUppercase()
5 }' ^1 y5 ?: T }
- R  c' G0 }" O3 V' i ​4 {1 z6 [+ J& @" {5 v0 J
// module : 每个 wxs 模块均有一个内置的 module 对象,! i, B! i' X' ]) N: e% q: X
// exports: 通过该属性,可以对外共享本模块的私有变量与函数
" `( r/ ?. q1 {) o; b' j! J module.exports = {
) h* h# e" F" ^/ ]6 X8 A4 }2 N# u   name: name,+ k$ h3 m& ]. h; H# F
   handler: handler
. l2 I- Z. F: P }3、.wxml 中使用模块% D2 o: b& ]& K# ^  [, N" R
    在 .wxml 中引用 wxs 文件模块,需要使用 wxs 标签,引用的 .wxs 文件必须是相对路径可以通过 module 属性指定当前  标签的模块名可以通过 src 属性可以用来引用其他的 wxs 文件模块. H$ k  t7 W% t9 `0 K0 P( ^

, ~0 p3 u4 M5 C6 b  i $ C2 G( ]8 {; P9 l, O) n4 z

8 j- T2 {% t8 e8 ^6 r# e ​) {: K) \% ?4 P2 @6 o2 ~+ m
  {{ tools.name }} 7 f# P! e9 a: X
  {{ tools.handler('wxs')}}
9 n% r" I" J9 j* H: P/ L
    在 .wxs 模块中使用 require 函数可以引用其他 wxs 文件模块:/ h6 N4 s$ M' v' i
var tools = require("../wxs/tools.wxs");
# Z; [" i7 k0 u3 h2 j! s4 b: i; b ​
. d8 D9 _" V: h& J  n console.log(tools.name);. A/ e1 _7 V0 ]4 u- g, h; b7 `
console.log(tools.bar("wxs"))4、示例
3 [1 O0 I8 R! m. v6 D9 w0 g ​1 x  a  E9 F; S  o
: O3 O  U! n- w4 t/ P. d
   $ Q; O# g7 ?# J0 n8 W: w+ v) q
   5 F1 q6 \' u% v! \/ I  ?" M, J
   ! O2 R! m* \9 Q0 J8 Y
     var name = 'Tom'9 e1 h4 C- Q5 q6 C8 h8 c. `% O
​
, ]5 B& L* k6 U9 P8 d     function handle() {+ b3 f" m/ k6 M. F* b( R: l
       return name1 h4 [" I% F2 e& _
     }
8 k" P  c. P! ~9 F ​* O8 ~3 ~" n% E$ i
     module.exports = {
0 d4 A6 C5 a) f4 u       name: name,1 L9 B8 v2 [- g6 a
       handle: handle
: q0 d( `" V3 c0 C9 `     }
$ }! o( ?! N/ J' K% P3 s   + O7 P9 [2 g8 g3 T
​9 }+ Y4 m+ O" q7 G
   
* O* c% ?9 w- o   {{ module.name }}) M) j! x5 ^  R( _, z2 `
   {{ module.handle() }}
) b9 c' a, Z& `0 J ​
4 ]! ?0 t( j2 C   
1 Z3 L0 E: `1 d1 Z; S   
; E6 l& |* F: @8 j7 q( {     
  I0 R# j: s  K0 T. c. E   {{ module1.formatPhone('18361261111') }}
* ?% U" d  c+ M- Z1 } 6.3 wxs 过滤器案例1、需求7 D# p' X6 B" R- h. k' v
    实现对手机号的格式化,将手机的 第四位 到 第七位 使用 * 号代码
    , l6 Z) }  @4 Q
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、实现步骤
+ I3 F5 L7 U& F
    # O/ `8 T# @9 _0 W" \3 P
  • 在小程序项目中创建一个名为 /wxs/phone.wxs 的 WXS 文件,用于编写封装函数
    5 N. `/ }$ T2 K8 b" G
  • 在 phone.wxs 文件中,编写一个名为 formatPhone 的函数,用于格式化手机号在小程序的页面中,引入 phone.wxs 文件,并调用 formatPhone 函数
    : Z$ J. W! M" z0 j, B' k, s0 s
3、落地代码
3 N3 ]; Q2 ]* v9 v4 C9 s: l
    pages/index/index.wxs 中的代码:
    4 k! W5 k9 H: P  u5 P
// 格式化手机
( h& f# h+ ^- b& r; V+ u function formatPhone(phone) {, U) P( f4 r7 n
   // 如果手机长度不等于 11,直接将手机号返回
: g7 ~# r5 J( w5 f# u( o4 y   if (phone.length != 11) {' h& \6 a5 O! I2 ]0 l3 I
     return mobile;/ L/ D- f3 ]4 a" D: l# X8 U# w
   }
1 ]; n5 [8 w' A+ L   
  |, B4 {1 Y! k+ b, Y   return phone.slice(0, 3) + '****' + phone.slice(7);  z$ a* T3 p. m3 s6 [
}+ t6 }& _3 A( D* X1 V& I+ u
​
( l$ y9 |8 r& P, Q // 导出模块
0 U8 K$ q: c2 _9 x3 Y$ ~ module.exports = {  g* ~* i7 o+ v. x. a& z
   formatPhone: formatPhone) a, F- H/ x7 a6 Q0 U% z, }1 k9 x
}9 y0 U, e( y1 @# O
    pages/index/index.wxml 中的代码:
    2 O0 q0 D1 s, E4 ?5 O- d5 \" t; c
, ^' Z; u& ]4 I' }& N
​
( D% w& h3 \: F0 y 格式化后的号码:{{phone.formatPhone(phoneNum)}}5 E! }! f2 K! _  \' M: n; J
8 c1 k, D2 T8 T) e$ s; W; P

* D3 _9 I; k' o; [% X3 X" w) [
) e4 i" Q* E2 u8 M$ E. l 121202i2lxodalo424nq4y.png 121204lrvhy8z9vzroyseo.png ; Y; ]. M3 w, Q( c' |4 E
资源下载地址和密码(百度云盘):
游客,如果您要查看本帖隐藏内容请回复
[/hide] 百度网盘信息回帖可见1 \* O7 H2 w4 J/ \8 r2 x9 s+ ]

, W! H' T) U+ K# x! p3 m7 P* R  y: p; R, {) B
! y2 i* W" q2 t% ^+ j3 p
本资源由Java自学网收集整理【www.javazx.com】
回复

使用道具 举报

该用户从未签到

5

主题

167

帖子

339

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

8

主题

179

帖子

358

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

11

主题

148

帖子

307

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

8

主题

163

帖子

330

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

6

主题

165

帖子

336

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

0

主题

4454

帖子

8912

积分

普通会员

Rank: 2

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

使用道具 举报

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

    [LV.1]初学乍练

    0

    主题

    4431

    帖子

    8881

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    [LV.2]登堂入室

    0

    主题

    4498

    帖子

    9080

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    4546

    帖子

    9094

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-3-12 03:46 , Processed in 0.186231 second(s), 26 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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