js学习

axios实现ajax请求
vuex data中需要共用的属性
 
函数功能单一,尽可能抽象
遵循一个函数只做一件事的原则
 
无副作用的函数,是不依赖上下文,也不改变上下文的函数
 
fetchUserInfoAsync 
这个函数大约会远程地获取用户信息;而且因为它有一个 Async 后缀,读者甚至能猜出这个函数会返回一个 Promise 对象
 
小程序
1.请避免多层级的交互方式,或者使用wx.redirectTo
2.使用 page 标签选择器,可以修改顶层节点的样式。
3.tabBar 是一个数组,只能配置最少2个、最多5个tab,tab 按数组的顺序排序。(底部导航栏)
4.可以设置各种网络请求的超时时间
 
1.0.0   大版本  次要版本  小版本
 
       编写可读的代码,对于以代码谋生的程序员而言,是一件极为重要的事。从某种角度来说,代码最重要的功能是能够被阅读,其次才是能够被正确执行。一段无法正确执行的代码,也许会使项目延期几天,但它造成的危害只是暂时和轻微的,毕竟这种代码无法通过测试并影响最终的产品;但是,一段能够正确执行,但缺乏条理、难以阅读的代码,它造成的危害却是深远和广泛的:这种代码会提高产品后续迭代和维护的成本,影响产品的稳定,破坏团队的团结(雾),除非我们花费数倍于编写这段代码的时间和精力,来消除它对项目造成的负面影响。
 
 
 
bananaArr 表示数组。
bananaObj 表示对象。
 
 var module1 = new Object({

    _count : 0,

    m1 : function (){
      //...
    },

    m2 : function (){
      //...
    }

  });

/**
 * 函数功能简述
 *
 * 具体描述一些细节
 *
 * @param    {string}  address     地址
 * @param    {array}   com         商品数组
 * @param    {string}  pay_status  支付方式
 * @returns  void
 *
 * @date     2014-04-12
 * @author   QETHAN<qinbinyang@zuijiao.net>
 */
/**
 * 函数功能简述
 * @param    {string}  address     地址
 * @returns  void
 */
ctrl+shift+h  一键格式化代码
ctrl  +j 检查代码
 
wx.ready(function () { // 1 判断当前版本是否支持指定 JS 接口,支持批量判断 document.querySelector('#checkJsApi').onclick = function () { wx.checkJsApi({ jsApiList: [ 'getNetworkType', 'previewImage' ], success: function (res) { alert(JSON.stringify(res)); } }); }; // 2. 分享接口 // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口 $('#onMenuShare').on('click',share_friends); $(document).on('click','#onMenuShareAppMessage', share_friends); function share_friends(){ wx.onMenuShareAppMessage({ title: '烽鸟科技', desc: '烽鸟科技,环海游戏', link: href, imgUrl: 'imgs/10.png', trigger: function (res) { alert('用户点击发送给朋友'); }, success: function (res) { location.href = href + '?shared=true' }, cancel: function (res) { alert('已取消'); }, fail: function (res) { alert(JSON.stringify(res)); } }); // alert('已注册获取“发送给朋友”状态事件'); } }); getSignature(); var href = location.href; // TODO: 微信权限签名配置 function getSignature() { $.ajax({ type: 'GET', url: '/fengniaoyaf/user/getwechatapitoken', data: { url: location.href }, success:function(res){ console.log(res); if(res.code == 0){ $.extend(signature, res.data); wx.config(signature); } } }); } var signature = { appId: 'wxcf382f81d162ca79', jsApiList: [ 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone', ] };

/ 每个用户一天弹一次
                var time = new Date().getTime()+24*60*60*1000;
                if( !localStorage['active_time'] || (time - parseInt(localStorage['time']))<=0 ){
                    $('.advert').show();
                    localStorage['active_time'] = new Date().getTime();
                }
轮循实现数据实时更新,简单不高效
webSocket更高效
客户端,服务端
对效率的提升,对需求的满足,对痛点的解决等
箭头函数:export const addToCart = productId => (dispatch, getState)=>{
	if(getState().products.byId[productId].inventory > 0){
		dispatch(addToCartUnsafe(productId())
	}
}
移动端网络环境复杂,微信小程序没有cookie的概念,wenxin.getUserInfo() 获取用户信息
loving sessionkey openid需要存储起来 有效期为15天或20天过期后重新请求微信服务器-会话检查流程
业务服务器去会话服务器检查,微信所有请求都要走https,信道服务,会话服务,加载即执行
配置模块路径,base_url path配置url,函数式定义模块,then的方式异步处理,promise, requirejs和打包 不支持AMD规范的处理。init初始化函数,模块名bootstrap,exports,导出,其他常用配置,map的配置,app_api,当前时间,jsonp服务,跨域通过下载js文件来动态的执行代码,datatype,缺少callback参数。使用text插件来加载html,css插件来加载样式文件,i18n插件,引入requirejs,打包需要引入配置文件,define, require,多模块打包,modus,export insert require,html,css插件如何打包,cssbuild,把css文件,打包js和css,用npm打包,npm init, npm run script start, 符合AMD规范,即使用define来申明模块,结合maven来自动打包,手动打包容易出错。下载node和npm,maven仓库里获取,下载安装node,

简单请求和非简单请求
options  预检命令
post  成功发出在预检命令通过后
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值