Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6037|回复: 77

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

  [复制链接]

该用户从未签到

14

主题

158

帖子

330

积分

普通会员

Rank: 2

积分
330
发表于 2023-10-8 12:12:01 | 显示全部楼层 |阅读模式
6.WXS 脚本语言 6.1 什么是 wxs1、概念
9 s1 s, q9 |/ I+ e3 v& b
    WXS 是微信小程序中的一种脚本语言,结合 WXML,可以构建出页面的结构。类似于JavaScript,但与 JavaScript 不同,WXS 有自己的语法
    ) f# ?; D0 ]% k( d" i$ z+ Q
2、wxs 和 JavaScript 的区别6 i, O+ q; z. @/ b
    ' R+ u& B! b1 P: m/ I& V, f6 n
  • wxs 有自己的数据类型
      z5 \# ~* s; e2 w3 ]" M6 O$ H
  • wxs 支持 CommonJS 模块化规范,可以将代码拆分为多个模块,提高代码的可读性和维护性
    * m9 s7 d6 ?+ K# f
  • wxs 支持基本的 JavaScript 语法和一些特有的语法,例如 模板字符串、var 等wxs 不支持 ES6 及以上的语法形式,例如:let 、const、解构等等等都不能使用: t+ G% S5 s' j7 V5 q: t2 r% W
3、wxs 的使用场景$ N) L9 n2 A* w% S: C
    1 S( r! P% Y$ t: b; H1 K
  • 数据处理:实现类似于过滤器一样的功能,例如格式化日期、格式化数据等等
    " ^+ D* s) A2 r
  • 逻辑控制:例如条件判断、循环、函数调用等等,也可以放在 wxs 中处理用以简化模板其他....
    , ?( _2 }- J) H+ V
6.2 wxs 中的基础使用1、说明
: c; X4 ?* v* I
    WXS 代码可以编写在 wxml 文件中的  标签内,或以 .wxs 为后缀名的文件内
    9 t$ K7 C( b0 f4 [4 z
2、定义模块
, [! c( j' f+ v  L

    . Q) T# o3 E3 O3 x  F/ Z# i
  • 每一个 .wxs 文件和  标签都是一个单独的模块,每个模块都有自己独立的作用域6 B' g& l8 J+ u; e0 j& s3 o7 K
  • 即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现
    4 g$ C. [  y2 A9 f+ p0 U0 _$ O
// /wxs/tools.wxs
: F6 i( H# r4 l& V9 ]% { ​& n( y, f+ V8 x4 |
var name = "Hello WXS"* q. K9 k7 k# N
​
$ x5 E% r7 Y. X/ E8 p4 a, \ var handler = function(val) {
: ~% Y  o1 J3 D' V; X7 G   return val.toUppercase()
! Y$ P# r6 k: W' F- J }
9 e6 B# ^+ [& M: e; l8 r0 B ​
+ z! o3 ?6 C( k# T6 ] // module : 每个 wxs 模块均有一个内置的 module 对象,
* i2 z: F5 c5 ]  i4 ?) w7 \9 O // exports: 通过该属性,可以对外共享本模块的私有变量与函数; C' c! A: {# O/ e# t
module.exports = {9 F8 Z- u* ~* T2 ?6 [' H
   name: name,
  G: h6 r2 h  H   handler: handler
" q- F. j( H( ~ }3、.wxml 中使用模块
, O+ D) _1 P7 c! z" q
    在 .wxml 中引用 wxs 文件模块,需要使用 wxs 标签,引用的 .wxs 文件必须是相对路径可以通过 module 属性指定当前  标签的模块名可以通过 src 属性可以用来引用其他的 wxs 文件模块
    6 O  [7 \' L. T0 N# |! C& ]

1 w" d* z" x, e
5 R6 J/ p; \/ `* q7 w6 S , q  A) g1 u+ C0 g% }9 Q" p+ C. z
​+ F( m7 O" q4 A9 v% P" f
  {{ tools.name }} ) I: s. }( d4 n* S9 L
  {{ tools.handler('wxs')}}
$ @& ?8 t9 P* \
    在 .wxs 模块中使用 require 函数可以引用其他 wxs 文件模块:# ?, z* I. h* U: U% \% x+ b7 @
var tools = require("../wxs/tools.wxs");1 O9 T3 b  d: ?3 i
​- N8 R4 _$ k0 |5 m
console.log(tools.name);3 v- s" V8 z, ?' P
console.log(tools.bar("wxs"))4、示例 1 Y- }6 i0 w% ]8 L
​6 ?! }. D. `( W
0 e9 x5 |2 J6 T% E' D* \
   
( P4 E% _) G6 c   
( P' c/ D/ G* f2 c/ r& [   ( H: n% J! E7 r4 q
     var name = 'Tom'
5 m9 n5 f1 h  m# `$ | ​
$ ~' n) K- _$ Q* l% }, k! x) R6 F     function handle() {4 n" a1 {! W8 E: N6 o5 z
       return name# r% ~7 a2 m( S# c+ G/ ?
     }* W! F, X/ X4 i
​) d- R( L2 l9 i3 {. O
     module.exports = {, T, W6 b" F2 K, \6 T2 k
       name: name,
$ \0 f8 ~% i& ?- x4 E5 @; \       handle: handle
( @7 G8 s1 n- m2 u5 ~) R+ R     }4 [) W7 w- c! X& s: X% I
   
! {0 T0 ?1 o; _" \9 w ​* `$ z) B6 X* @) x+ `4 S: x
   0 [, h# J6 r+ X
   {{ module.name }}
( d5 Y1 h" g+ v! F! R   {{ module.handle() }}9 i/ m+ }( K4 B* T8 w, R" H
​1 W8 _! y6 R1 H
   
. S7 H( [* M/ J7 p" v* A   
( \/ v! V6 J8 C     
9 X8 O1 W& X9 S1 M   {{ module1.formatPhone('18361261111') }}
8 |' f# T6 m% t* l 6.3 wxs 过滤器案例1、需求3 C! a5 O5 |. D. M
    实现对手机号的格式化,将手机的 第四位 到 第七位 使用 * 号代码9 y9 m0 m7 S6 ~- Y) t5 _
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、实现步骤# e! v. b6 D- b+ Y- s. z
    ' s9 x6 c. H% @* k( o# c8 H/ w# {/ L
  • 在小程序项目中创建一个名为 /wxs/phone.wxs 的 WXS 文件,用于编写封装函数
    # q! S( K3 J1 X1 v& D- I
  • 在 phone.wxs 文件中,编写一个名为 formatPhone 的函数,用于格式化手机号在小程序的页面中,引入 phone.wxs 文件,并调用 formatPhone 函数
    / f/ S1 U* k) f6 ~
3、落地代码
" U% E$ K/ T2 [1 G; x8 p4 L
    pages/index/index.wxs 中的代码:
    7 i# G; K+ T) N5 O! k9 H
// 格式化手机
. a' Y) Z: s4 }6 s5 `% X function formatPhone(phone) {! ?* k2 P2 E( \: \- v4 E2 f
   // 如果手机长度不等于 11,直接将手机号返回3 E3 P( z* p) X! O# F, ]
   if (phone.length != 11) {
, P1 M' X; E$ l     return mobile;
  }8 J3 p" J( {9 g+ t* l/ q   }
. H3 V. u: C3 U3 y/ h7 M8 Y   
1 u% R6 K$ Q" A$ p   return phone.slice(0, 3) + '****' + phone.slice(7);
2 H1 m6 u4 c, x6 B }) Q- D( Y; O8 b) U! p- v5 U
​$ B. r) g7 f& ?" K
// 导出模块
8 U2 t& c! `3 l. _ module.exports = {
+ ~3 j# p- i, y# o, K) G+ \   formatPhone: formatPhone
+ X. d6 f  U5 f3 z. Q# f }
. j2 e$ G6 m/ U1 E
    pages/index/index.wxml 中的代码:0 Z7 g8 A+ q# v5 D" m

# X# w! P& b, \: b ​
9 x! m3 c6 B8 m0 A/ m5 V 格式化后的号码:{{phone.formatPhone(phoneNum)}}$ S. I; |! M: x5 ^
% `& A& i" U5 r! o) o7 H
7 k9 s9 _' p7 O$ I$ L
5 N* g/ G, d; Y2 U6 P& n! |+ I8 H. o  ]
121202i2lxodalo424nq4y.png 121204lrvhy8z9vzroyseo.png   i+ _$ M+ S; F- U
资源下载地址和密码(百度云盘):
游客,如果您要查看本帖隐藏内容请回复
[/hide] 百度网盘信息回帖可见
" S: p9 a4 y6 [- h1 |5 b5 \0 i5 x$ d! L5 R  C6 n

/ p& A; d; }( _9 u) k: e4 v7 ]2 y! [" p# E
本资源由Java自学网收集整理【www.javazx.com】
回复

使用道具 举报

该用户从未签到

7

主题

176

帖子

357

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

8

主题

180

帖子

358

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

12

主题

151

帖子

314

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

9

主题

168

帖子

341

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

6

主题

168

帖子

336

积分

普通会员

Rank: 2

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

使用道具 举报

该用户从未签到

0

主题

4595

帖子

9194

积分

普通会员

Rank: 2

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

使用道具 举报

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

    [LV.1]初学乍练

    0

    主题

    4580

    帖子

    9179

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    [LV.2]登堂入室

    0

    主题

    4640

    帖子

    9364

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    4672

    帖子

    9346

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-4-19 18:29 , Processed in 0.115007 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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