零零碎碎的基础知识:
不影响加载流程的前提下,尽量css在前,js放最后,以提高页面显示速度
<!-- jquery库 -->
<script src="./js/jquery-2.1.0.js"></script>
<!-- 样式文本 -->
<link rel="styleSheet" href="./res/css.css" type="text/css">
所谓的解构赋值,就是把 某个对象中的属性,当作变量,给解放出来,这样,今后就能够当作变量直接使用了
可以使用 : 为解构出来的变量重命名
const person = {
name: 'zs',
age: 22,
gender: '男'
}
// 变量的解构赋值
let{ name: name123, age, gender } = person
name123 = '哈哈'
console.log(name123)//输出为哈哈
————————————————
版权声明:本文为CSDN博主「南南合作」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42442123/java/article/details/84034328
ES6方法的简写a(){}等同于a:function(){}
AppSecret(小程序密钥) :1fe2eb664be9f1f0e44b10daaadaded4
AppID(小程序ID) wx23b0898b8ff72d75
HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。
开始标签 元素内容 结束标签
<p> This is a paragraph </p>
<a href="default.htm" > This is a link </a>
<br />
function(e){ }
1.形参。
function fn(e){
//这里的e 是形参,接收调用方法的值,这里e可以理解指代element
console.log(e); // 'help'
}
fn('help');
2.事件。
$(function(){
$("#mybutton").on("click mouseover",function(e){
alert(e.type)
//在触发该事件的时候,系统会给传给你这个参数,他包含了触发该事件的一些信息
//这里e指代event
})
})
改变页面{{result}}值:this.setData({result : str}).注意:{{}}WXML使用双大括号实现数据绑定
e.detail.value获取用户输入值√
——————————————————————————————————————————————————
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。
为什么叫Arrow Function?因为它的定义用的就是一个箭头:
x => x * x
上面的箭头函数相当于:
function (x) {
return x * x;
}
(1). 箭头函数this为父作用域的this,不是调用时的this
箭头函数的this永远指向其父作用域,任何方法都改变不了,包括call,apply,bind。
普通函数的this指向调用它的那个对象。
**重要的 var that=this **(箭头函数也可以解决)
原来我们忘记了javascript 语言中 this关键字的用法了。在javascript语言中,this代表着当前的对象,它在程序中随着执行的上下文随时会变化。在本例中回调函数对象相对于showactionsheet点击事件函数对象已经发生了变化。所以已经不是原来的页面对象了。自然就没有了data属性,也没有了data.itemLists属性了。解决的办法就是复制一份当前的对象。所以我们有了这个重要的语句:
var that=this;//把this对象复制到临时变量that.
这时候我们使用that 就不会找不到原来的对象了。
console.log(that.data.itemLists[res.tapIndex]);//使用that.data 属性
____________________________________________________________________________________________________________________
小程序onload中的options:
newslist:
<view>
<view data-news-id='1' catchtap='showThisNews'>
<text>1</text>
</view>
<view data-news-id='2' catchtap='showThisNews'>
<text>1</text>
</view>
<view data-news-id='3' catchtap='showThisNews'>
<text>1</text>
</view>
</view>
currentNews:
<view >
news contents.....
</view>
currentNews: (.js部分)
Page({
onload: function(options){
console.log(options);//{newsId: 指定的data-news-id的值}
console.log(options.newsId); //
}
})
小程序页面加载的时候,可以通过options获取到上一个页面标签的属性以及属性值;
_____________________________________________________________________________________________________________
height:100%和height:auto的区别:
height:auto,是指根据块内内容自动调节高度。
height:100%,是指其相对父块高度而定义的高度,也就是按照离它最近且有定义高度的父层的高度来定义高度。
______________________________________________________________________________________________________________________
Vw:视区宽度百分值
Vh:视区高度百分值
Vmin:取Vw或Vh中较小的那一个
Vmax:取Vw或Vh中较大的那一个
1.视区:是指浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小
2.场景之元素的尺寸限制
__________________________________________________________________________________________________________________
微信小程序js中使用e.target.dataset.xxx获取data-xxx的值 √
小程序中我们会经常使用到this.data与this.setData。其中this.data是用来获取页面data对象的,而this.setData是用来更新界面的
______________________________________________________________
js里==和===有什么区别:
==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换
===:用来检测两个操作数是否严格相等
1、对于string,number等基础类型,==和===是有区别的
不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
同类型比较,直接进行“值”比较,两者结果一样
2、对于Array,Object等高级类型,==和===是没有区别的
3、基础类型与高级类型,==和===是有区别的
对于==,将高级转化为基础类型,进行“值”比较,因为类型不同,===结果为false
________________________________________________________________________________________
if (myCtrl.Name.IndexOf("checkBox") >= 0)
myCtrl代表一个控件,myCtrl.Name控件的名称,a.IndexOf("b")表示b字符串在a字符串中所在的位置.这句话的意思就是:字符串"checkBox"在这个字符串"控件名称"中所在的位置>=0,也就是说字符串"控件名称"中存在字符串"checkBox
______________________________________________________________________________________________________
微信小程序 报错:Setting data field "xxx" to undefined is invalid
通过网络请求获取的数据,当返回的数据没有xxx(变量名)这个变量时,此时xxx是undefined
若使用setData进行赋值,则会报如下的错误:
Setting data field "xxx" to undefined is invalid
解决办法:
this.setData({
xxx: xxx ? xxx : null
})
_____________________________________________________________________-
break-word:break-all; //view中换行
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
参数 描述
num 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
__________________________________________________________________________________________________
CSS代码:
后代选择器:用于指定元素所有的后代元素
//选择div下所有的span元素,无论层级
div span {
color: red;
}
子元素选择器:用于选择元素指定类型的所有的后代元素
//选择div下一级的span元素
div>span {
color: red;
}
html代码如下:
<body>
<div>沈美人
<span>最好看</span>
</div>
<div>沈美人
<em>
<span>最好看</span>
</em>
</div>
</body>
div span 沈美人全部变红
div > span 第一个沈美人变红
______________________________________________________________________________
微信小程序view与text:
view 相当于 html 中的 div 是块元素会换行,view都是竖着排的。text 相当于 html 中的 span,会水平排列起来。
___________________________________________________________________________________________________________________