今天开通博客啦!

零零碎碎的基础知识:

不影响加载流程的前提下,尽量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,会水平排列起来。
___________________________________________________________________________________________________________________


posted on 2020-05-06 17:15  2Octobering  阅读(93)  评论(0编辑  收藏  举报