JS函数(function)
- 函数可以在任何位置用,可以当参数,可以当值,可以回调函数,可以当类来用
- 函数本质上也是对象
对象:即由属性和方法组件的集合
1,函数表达与函数声明的区别
2,变量作用域 没有var,直接定义的全局变量
3,函数直接调用和加new 函数调用的区别
4,函数的静态属性和静态方法
5,函数原型访问的本质 ,必须通过new的形式才能访问到
6,this的指向
css定位
absolute绝对定位是相对于父级有定位的元素,如果父级和祖先元素都没有定位,则相对于body的左上角的定位,但通常给父级设置相对定位(relative),子级元素设置绝对定位(absolute)
vue 1.x和vue2.x的全部区别:https://cn.vuejs.org/v2/guide/migration.html
@keyframes
animation
git分支:团队协作管理
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkouit 分支名
即创建也切换:git checkout -b 新分支
合并分支:git merge 要合并的分支
推送本地分支到线上:git push origin 要推广送的分支
如何将自己负责的分支代码提交到线上对应的自己分支中????
注意:默认情况 git push 只推送master分支代码到远程
解决方案:需要添加远程跟踪路径
git push --set-upstream origin 要推送的分支
git pull 摘取远程分支代码到本地并自动合并
自动创建分支并摘取远程代码:git checkout -b 本地分支 origin/远程分支
========================微信小程序=========================================
一、微信小程序:2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线。,是一种不需要下载安装即可使用的应用,用户扫一扫或搜一下即可打开应用。
二、如何使用
1.注册小程序
链接: https://mp.weixin.qq.com/wxopen/waregister?action=step1&token=&lang=zh_CN
2.安装开发工具
下载地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html?t=18100816
闭包:
特点:
1.闭包本质上也是一个函数
2.函数内部必须还有一个函数
3.可以在函数外部访问函数内部的变量
4.长期驻留内存
缺点:内存泄露
找出数组中最大的数:Math.max.apply(Math,arr)
jS基本类型6种: number,string,boolean,undefined,null, symbol(ES6新增)
如何检查是否是数组
ES5之前检测数组:
function isArray(o) {
return Object.prototype.toString.call(o)==="[object Array]"
}
ES5检测数组:
Array.isArray()
================小程序 10.10============================
一、小程序目录结构
pages:是开发目录,平时开发时用的目录
各种功能模块中文件说明:
每个功能模块都包括4种文件:
xxx.js : 写页面逻辑
xxx.wxml : 相当于html,即写页面结构,布局
xxx.wxss : 相当于css,即页面样式 ,样式单位用rpx,不是px,rpx相等于rem
xxx.json : 即页面的配置
untils:存放一些项目公共函数库
app.js:是小程序项目入口js
app.json:全局配置
app.wxss:项目全局样式,会影响每个页面的样式
project.config.json:项目编辑器整体配置
绑定事件
利用bind+事件名来绑定
例如:
<button bindtap="goCart">点我进购物车哦</button>
跳转
wx.navigateTo({
url:'要跳转的路径'
})
例如:
wx.navigateTo({
url:'../cart/cart'
})
传参
小程序通过给元素添加自定义属性,格式:<view data-属性名1="参数1" data-属性名2="参数2">
例如:
<button bindtap="goCart" data-id="1001" data-name="手机">点我进购物车哦</button>
js逻辑中如何接收参数:
goCart(e) {
console.log("我能接收参数哦:",e.currentTarget.dataset)
}
页面的生命周期钩子函数
onLoad:生命周期回调—监听页面加载,通常用于接收外来参数或初始化数据
onShow:监听页面显示
onHide:监听页面隐藏
onReady:监听页面初次渲染完成
onShareAppMessage:用户点击右上角转发
App全局钩子
onLaunch:监听小程序初始化
onError:错误监听函数
onShow Function 生命周期回调—监听小程序显示
onHide Function 生命周期回调—监听小程序隐藏
设置Tab
全局app.json中配置tabbar选项
例如:
{
"pages":[.... ],
"window":{...},
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath":"imgs/home.png",
"selectedIconPath":"imgs/home_active.png"
}, {
"pagePath": "pages/logs/logs",
"text": "日志",
"iconPath":"imgs/cat.png",
"selectedIconPath":"imgs/cat_active.png"
},
{
"pagePath": "pages/cart/cart",
"text": "购物车",
"iconPath":"imgs/cart.png",
"selectedIconPath":"imgs/cart_active.png"
}
]
}
}
详细:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html#全局配置
数据绑定 :双大括号:{{ }} (注:和vue很类似)
// pages/about/about.js
Page({
data: {
num:100,
list:[
{"id":1001,"name":"ipad2","price":2300},
{"id":1002,"name":"vivo2","price":2350},
{"id":1003,"name":"华为4","price":2320},
{"id":1004,"name":"三星5","price":2370},
{"id":1005,"name":"oppor6","price":2390},
]
},
}
页面中:
<text>数据:--{{ num }}</text>
遍历数据: wx:for
例如:
<view class="bottomBorder" wx:for="{{ list }}" wx:for-item="aa" wx:for-index="num" wx:key="*this">
<view>商品编号:{{ num+1 }}-{{ aa.id }}</view>
<view>商品名称:{{ aa.name }}</view>
<view>商品价格:{{ aa.price }}</view>
</view>
注:
1.默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item
2. 使用 wx:for-item 可以修改数组当前元素的item名,
使用 wx:for-index 可以修改数组当前下标的名子:
3.为了提高遍历性能通常要加一个wx:key 例如:wx:key="*this"