js开发的小问题汇总

js开发的小问题汇总

  • 1.require js 中引入jquery插件(以cookie为例)
require js 最基本写法为:
require.config({
 paths: {
        "jquery": "../jquery-1.11.1.min",
        "domReady": "../require/domReady",
        }
 })
 var app=require(['domReady', 'jquery'],function(doc,$){
        ......
})
当引入jquery的插件时,应加入shim,写法为:
require.config({
  shim: {
  'jquery.cookie': ['jquery']
  }
  paths: {
        "jquery": "../jquery-1.11.1.min",
        "domReady": "../require/domReady",
        "jquery.cookie":"../jquery.cookie",
        }
 })
 var app=require(['domReady', 'jquery',"jquery.cookie"],function(doc,$){
        ......
})
注意:
在require([],function(){})中,只出现在参数中,函数里不出现
路径中不要出现.js

  • 2.require js 中引入不符合AMD规则的js(以RSA为例)
需要用到BigInt.js中的setMaxDigits()方法,在require js中写法为:
require.config({
  shim: {
    "BigInt":{
              deps:[],
              exports: 'setMaxDigits'
    },
  }
  paths: {
        "jquery": "../jquery-1.11.1.min",
        "domReady": "../require/domReady",
        "jquery.cookie":"../jquery.cookie",
        }
 })
 var app=require(['domReady', 'jquery','BigInt'],function(doc,$,BigInt){
        ......
})
调用setMaxDigits()方法时直接
BigInt(t)

  • 3.setTimeOut带参数的方法递归调用失败
设计一个倒计时函数,每隔1秒alert
  function time(t) {
      alert(t);
      t = t - 1;
    if (time >= 0) {
        setTimeout("time("+ t +")", 1000);
    } else {
        //alert('倒计时结束!');
    }
  }

  time(10);
发现当t=9时,VM报错,于是改成如下写法,一切正常
  function time(t) {
      alert(t);
      t = t - 1;
    if (time >= 0) {
        setTimeout(function(){
            time(t);
        }, 1000);
    } else {
        //alert('倒计时结束!');
    }
  }

  time(10);

  • 4.调用接口报错500,显示不是JSON对象
可能是由于编码不同,在ajax调用时加上contentType限制,一切就正常啦
contentType:"application/json;charset=utf-8"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值