微信小程序开发经验总结(六)

微信小程序开发经验总结(一) 1.入门请先阅读官方文档 2.app.json配置 pages tabBar windows 3.app.js 微信小程序从实战开发到放弃(入门请先阅读官方文档) 1. 官方文档 入门首选 https://mp.weixin.qq.com/debug/wxadoc/dev/ 2. app.json 配置 不能有注释 pages "pages": [ "pages/index/ 阅读详情

微信小程序开发经验总结

微信小程序开发经验总结(一)
微信小程序开发经验总结(二)
微信小程序开发经验总结(三)
微信小程序开发经验总结(四)
微信小程序开发经验总结(五)
微信小程序开发经验总结(六)
微信小程序开发经验总结(七)

15. 能用上的js知识

string
  • 大小写

    //大写
    string.toUpperCase();
    //小写
    string.toLowerCase();
  • 判空

    var string;
    if (!string) {//空}
  • 长度 string.length

  • 正则

    //大小写字母
    function checkLetter(value){ 
    var str = /^[A-Za-z]*$/;
    if (str.test(value))
     {
       return true;
     }
     return false;
    }
    
    //电话号码
    function checkPhone(phone){ 
      if(!(/^1[34578]\d{9}$/.test(phone))){ 
          return false; 
      } 
       return true;
    }
  • 子字符串

    //含start 不含stop
    stringObject.substring(start,stop) 
  • 格式

    var  str='abc' 
    var  str="abc"

    ​

数组
  • push pop

    //push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    arrayObject.push('other line')
    //pop() 方法用于删除并返回数组的最后一个元素。
    arrayObject.pop()
  • join

    //join() 方法用于把数组中的所有元素放入一个字符串。
    //元素是通过指定的分隔符进行分隔的。
    arrayObject.join(separator)
    arrayObject.join('\n')
  • 排序

    //localeCompare()提供的比较字符串的方法,考虑了默认的本地排序规则  
    var list = [{
          city:'厦门',
          pinyin:'xiamen'
          },
          {
            city: '北京',
            pinyin: 'beijing'
          },
          {
            city: '长春',
            pinyin: 'changchun'
          },
          {
            city: '上海',
            pinyin: 'shanghai'
          }
         ];
        list.sort(function (a, b) {
          return a.pinyin.localeCompare(b.pinyin);
        });
        console.log(list);
    
    //reverse() 方法用于颠倒数组中元素的顺序。
    arr.reverse()
  • 删除

    - //删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变)
    var arr = ['a','b','c','d'];
    arr.splice(1,1);
    console.log(arr);  
    //['a','c','d']; 
    
    //删除起始下标为1,长度为2的一个值(len设置2)
    
    var arr2 = ['a','b','c','d']
    
    arr2.splice(1,2);
    
    console.log(arr2); 
    
    //['a','d']
  • 字符串转数组

    var letters = "*abcdefghjklmnopqrstwxyz".split('');
  • 遍历

    for(var item in arr) {
    document.write(arr[item]+",");
    }
math
  • string转int

    parseInt()
    var j = parseInt("11")
  • 四舍五入

    1.丢弃小数部分,保留整数部分
    parseInt(5/2)
    2.向上取整,有小数就整数部分加1
    Math.ceil(5/2)
    3,四舍五入.
    Math.round(5/2)
    4,向下取整
    Math.floor(5/2)
object
  • 用.为对象添加属性

    obj.username = "allen";
    ??只能添加字符串属性
  • 用关键字delete删除属性

  • []添加属性,功能强大,可以动态添加属性

    demandData.use_trip[date] = detail;
  • 通过原型对象增加属性或者方法

    //方式1:在原有的原型对象上增加属性或者方法
    function Person()
    {
    }
    Person.prototype.add = function(){
    alert(this.name);
    };
    Person.prototype.name = "aty";
    var p1 = new Person();
    p1.add();//aty
    //方式2:重写(覆盖)原型对象
    function Person()
    {
    }
    Person.prototype = {
    add : function(){
        alert(this.name);
    },
    name : "aty"
    }
    var p2 = new Person();
    p2.add();//aty
    
    如果是先创建对象,然后再修改原型,那么如果采用方式1,已经创建的对象能够正确访问修改后的原型;如果采用方式2,已经创建的对象无法访问到修改后的原型。从这个角度来看,显然方式1比方式2更好
    
    原型对象上的所有属性和方法,都会被对象实例所共享
    
    a:原型对象的作用,就是定义所有对象实例所共享的属性和方法。
    
    b:prototype,对于构造函数来说,它是一个属性;对于对象实例来说,它是一个原型对象。
that=this
  • 这属于 JavaScript 的设计缺陷,正确的设计方式是内部函数的 this 应该绑定到其外层函数对应的对象上,为了规避这一设计缺陷,聪明的 JavaScript 程序员想出了变量替代的方法,约定俗成,该变量一般被命名为 that。

  • var that = this;

    var point = { 
    x : 0, 
    y : 0, 
    moveTo : function(x, y) { 
      var that = this; 
      // 内部函数
      var moveX = function(x) { 
      that.x = x; 
      }; 
      // 内部函数
      var moveY = function(y) { 
      that.y = y; 
      } 
      moveX(x); 
      moveY(y); 
      } 
    }; 
    point.moveTo(1, 1); 
    point.x; //==>1 
    point.y; //==>1
const var let val
  • const定义的变量不可以修改,而且必须初始化

    const b = 2;//正确
    // const b;//错误,必须初始化 
    console.log('函数外const定义b:' + b);//有输出值
    // b = 5;
    // console.log('函数外修改const定义b:' + b);//无法输出 
  • var定义的变量可以修改,如果不初始化会输出undefined,不会报错。

  • let是块级作用域,函数内部使用let定义后,对函数外部无影响。

    let c = 3;
    console.log('函数外let定义c:' + c);//输出c=3
    function change(){
    let c = 6;
    console.log('函数内let定义c:' + c);//输出c=6
    } 
    change();
    console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
  • val js原生的没有val方法,val方法一般都是jquery的或者自己定义的

time date
  • new Date()

    new Date(milliseconds) :把毫秒数转换为Date对象
    new Date(dateStr) :把字符串转换为Date对象
    1) yyyy/MM/dd HH:mm:ss (推荐):若省略时间,返回的Date对象的时间为 00:00:00。
    2) yyyy-MM-dd HH:mm:ss :若省略时间,返回的Date对象的时间为 08:00:00(加上本地时区)。若不省略时间,此字符串在IE中会转换失败! iphone6s 失败
    new Date(year, month, opt_day, opt_hours, opt_minutes, opt_seconds, opt_milliseconds) :把年月日、时分秒转换为Date对象
    
    1)new Date("month dd,yyyy hh:mm:ss"); 
    2)new Date("month dd,yyyy"); 
    3)new Date(yyyy,mth,dd,hh,mm,ss); 
    4)new Date(yyyy,mth,dd); 
    5)new Date(ms); 
    Date() 方法可返回当天的日期和时间。
微信小程序开发BUG经验总结 摘要: 常见的微信小程序BUG! 小程序开发越来越热,开发中遇到各种各样的bug,在此总结了一些比较容易掉进去的坑分享给大家。 1. new Date跨平台兼容性问题 在Andriod使用new Date(“2018-05-30 00:00:00”)木有问题,但是在ios下面识别不出来。 因为IOS下面不能识别这种格式,需要用2018/05/30 00:00:00格式。可以使用正则表达式对做字符串... 阅读详情

相关推荐

WebStrom开发微信小程序

文章目录

Java721的博客 1万+

微信小程序 webview网页使用微信方法-jssdk及常见问题

在微信小程序的webview网页中,想要使用微信方法,需要使用微信的jssdk。

weixin_45072479的博客 5914

微信小程序开发初探

【主要内容:】 1. 微信小程序web开发工具下载地址 2. 创建项目 3. 开发工具界面 4. 调试区六大工具介绍 5. 我与微信小程序的插曲 6. 微信小程序总结 一、微信小程序web开发工具下载地址 1.1 在微信公众平台-小程序里边去下载开发工具下载地址。 1.2 下载后安装一下就可以使用

张茫原 1万+

微信小程序读取jpg图片数据并输出16进制数据

【代码】微信小程序读取jpg图片数据并输出16进制数据。

weixin_40466351的博客 1323

PHP开发微信小程序的经验总结

写微信小程序的一些总结 新入职一家搞商铺中介的网络公司,入职第一天的任务是写一个微信小程序的PHP后台,虽然之前没有写过小程序的后台,但做下来感觉其实和写网站后台基本差不多。由于之前没有做过小程序后台,所以还是碰到了一些坑的,在这里做一个分享,给大家参考,错误之处欢迎留言指正。 如何获取微信手机号? 微信的手机号是加密存放手机端的,需要发送到后端,后端使用从腾讯API接口拿到的sessionKey解密。下面贴出解密逻辑(php版),只有主体过程,其他细节请自己实现。 verify....

昌南的博客 1192

超详细!DeepSeek本地搭建部署、搭建知识库及智能体教程

通过以上详细的步骤,我们完成了DeepSeek的本地搭建部署、知识库的搭建以及智能体的创建。这一过程不仅让我们深入了解了大模型的应用,还为我们开发个性化的智能应用奠定了基础。在实际应用中,可以根据具体需求进一步优化模型、知识库和智能体的性能和功能。希望本文能帮助大家快速上手DeepSeek相关技术,开启属于自己的人工智能创新之旅。

Ljugg的博客 8187

微信小程序小结(四)

WXS、 组件(创建、注册、使用、样式、data、methods、properties、observers、纯数据字段、组件的生命周期、插槽、组件通信、behaviors、)

benlalagang的博客 567

Burp靶场实战:JWT签名绕过漏洞分析与利用

本文通过Burp Suite靶场实战,深入剖析了JWT签名绕过漏洞的多种攻击手法,包括签名未验证、alg:none攻击、弱密钥爆破、JWK/JKU头注入、KID路径遍历及算法混淆攻击。文章详细演示了利用过程,并提供了关键的防御指南,帮助开发和安全人员加固JWT实现,确保认证安全。

weixin_29325515的博客 596

微信小程序学习笔记

tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换。底部 tabBar顶部 tabBartabBar 中只能配置最少 2 个、最多 5 个 tab 页签当渲染顶部 tabBar 时,不显示 icon,只显示文本。

winnerFly的博客 2518

使用 MATLAB/Simulink 构建一个基于PID控制的直流电机速度调节系统模型

直流电机(DC Motor)因其结构简单、成本低廉、易于控制等特点,广泛应用于各种工业自动化和家用电器中。PID控制器作为最常用的控制策略之一,在直流电机的速度调节系统中具有重要应用价值。通过合理调整比例(P)、积分(I)、微分(D)三个参数,可以实现对电机速度的精确控制。本教程将带你使用构建一个基于PID控制的直流电机速度调节系统模型,涵盖电机模型构建、PID控制器设计、系统仿真与调试等多个方面。本文介绍了如何使用构建一个基于PID控制的直流电机速度调节系统模型。

amy_mhd的博客 217

Windows 11 WSL2环境下OpenClaw部署的兼容性问题分析与解决方案研究

本文研究了OpenClaw在Windows 11 WSL2环境下的部署方案。WSL2通过无缝集成Linux与Windows系统,为OpenClaw提供了良好的运行环境,支持GPU加速和跨平台开发。文章详细分析了硬件配置要求(推荐8核CPU/16GB内存/NVMe SSD)、系统选择(Windows 11 Pro+Ubuntu 22.04)以及部署步骤,包括WSL2启用、Linux发行版安装、Python/Node.js/Redis等依赖配置。通过优化.wslconfig文件参数(如内存分

博客 2281

小程序网络数据请求详解(附:wx.request二次封装)

【代码】小程序网络数据请求详解(附:wx.request二次封装)

前端工程师 · Vue 生态深耕者,专注多端与工程化 1517

深入浅出SCSI子系统(一)Linux 内核中的 SCSI 架构

scsi系统

sinat_37817094的博客 6489

微信小程序开发经验总结(五)

微信小程序开发经验总结 常用组件button image input swiper scroll-view form 常用API phone loading Storage

LinWeiJ的博客 2424

全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c

全网详细解决1251 - Client does not support authentication protocol requested by server; consider upgrading Mysql client。

念兮为美 5479

apollo-减速带通行

主车在通过减速带时速度不超过3m/s

是菜鸟o的博客 390

微信小程序开发大赛经验总结

微信小程序开发大赛经验,问题,坑,注意事项等

qq_51297987的博客 1067

高云FPGA系列教程(8):ARM串口数据接收(中断和轮询方式)

GW1NSR-4C ARM部分共有2个串口外设,都挂载在APB1总线上,最高支持波特率921.6Kbit/s,无奇偶校验位,8位数据位,1位停止位,支持高速测试模式 HSTM(High Speed Test Mode),即每个时钟周期输出1位数据,可以在短时间内传输大量数据。官方手册上没有描述发送和接收缓存FIFO的深度,所以不确定是否支持缓存。

whik1194的博客 1685

微信小程序开发经验总结(七)

微信小程序开发经验总结 16.自定义控件 17.toast提示框

LinWeiJ的博客 1389

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

微信小程序开发经验总结(四)

微信小程序开发经验总结 12.wxss flex布局 text font box

LinWeiJ的博客 1488

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

微信小程序开发经验总结(二)

微信小程序开发经验总结 4.page.json 5.page跳转 6.page之间的传值(打开页面并传值,关闭页面并回传值)

LinWeiJ的博客 1676

【微信小程序开发】开发框架与工具的使用详解

小程序开发框架是一套用于快速构建小程序的开发框架,提供了丰富的组件和API,使得开发者能够快速搭建小程序,并实现丰富的功能。微信小程序开发框架:官方提供的小程序开发框架,使用JavaScript语言进行开发,可运行在微信客户端上;支付宝小程序开发框架:支付宝提供的小程序开发框架,使用JavaScript语言进行开发,可运行在支付宝客户端上;百度智能小程序开发框架:百度提供的小程序开发框架,使用JavaScript语言进行开发,可运行在百度客户端上;字节跳动小程序开发框架。

陈橘又青的博客 2万+

微信小程序开发经验总结(三)

微信小程序开发经验总结 7.列表 相当于Android的listview 8.block 9.wx:if vs hidden 10.列表点击事件处理的两种方法 11.模块化 封装语句

LinWeiJ的博客 1535

微信小程序——小程序开发经验总结(持续更新)

1、部署前端后,刷新页面没有更换效果。2、本地调试成功,上线却无法获取后台数据。3、子组件无法使用Onload事件,但是可以用Onready进行替代。4、前端传值给下一个页面,不能携带太多信息。5、自定义导航栏。6、快速搜索方法。7、CSS开发笔记

Pan_peter的博客 6704

微信小程序开发【六】-- wxss详解

WXSS是一套样式语言,用于描述WXML的组件样式。

老六说编程的博客 2093

微信小程序开发语言(微信小程序开发教程)详细步骤

微信小程序开发语言 开发微信小程序用什么语言 1、微信小程序开发所需要的语言比较特别,首先介绍一下需要使用到的文件类型大致分为:WXML(WeiXin Mark Language 微信标记语言)、WXSS(WeiXin Style Sheet 微信样式表)、JS(JavaScript 小程序的主体); 2、首先是WXML,它与Android开发中的界面XML描述文件比较像,适合于程序界面的构建; 3、WXSS与前端中使用的CSS在语言上几乎没有差别可以直接通用; 4、JS文件这个与前段中使用的JS也是几乎没

juzilvpai的博客 2万+
上一篇: 微信小程序开发经验总结(五)
下一篇: 微信小程序开发经验总结(七)
LinWeiJ
博客等级 码龄10年 29粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值