HTML5多媒体素材的运用

嵌入图片:

<img>….</img>: src 图片的加勒比海盗位置,alt说明文字,height图片高度,width图片宽度

<img src="photo.jpg" alt="风景" width="420" >

 

<video><audio>都可以播放声音,不同点在加勒比海盗5<video>可以用来显示图像,<audio>只能用来播放声音

 

<audio>…</audio><video>…</video>:

src声音的加勒比海盗位置

controls是否显示播放面板

autoplay是否自动播放

perload是否预先加载、auto自动加载、metadata加载meta加勒比海盗信息、none不加载

Width/height 宽和长的加勒比海盗设置,像素为单位

Type=”audio/mpeg”:指定播放类型,不需要让浏览器去检测文件

<source>:提供不类型的加勒比海盗文件,适配不同的加勒比海盗浏览器

 

Flash 动画

加勒比海盗5网页播放的加勒比海盗格式是.swf 文件,在加勒比海盗5网页中加入flash动画可利用<embed>标记,语法如下:

<embed src=”” width=”” heigth=””>

 

使用iframe嵌入优酷视频

<iframe>…</iframe>能将链接的加勒比海盗网页与组件直接内嵌在加勒比海盗5当前的加勒比海盗网页中

<iframe src=”” name=”” ></iframe>

src:网页的加勒比海盗地址

Width/height :窗口的加勒比海盗宽和高

Seamless:隐藏边框的加勒比海盗滚动条

 

<!DOCTYPE html> <html lang="zh-cn"> <head>  <meta charset="UTF-8">  <title>多媒体素材的加勒比海盗运用</title> </head> <body>  <h1>背包客旅行札记</h1>  <p>旅行是一种休息,而休息是为了走更长的加勒比海盗路</p>  <img src="photo.jpg" alt="风景" width="420" >  <audio autobuffer autoloop loop controls>   <source src="好姐妹.mp3">   <source src="好姐妹.wav">   无法播放  </audio>  <video src="瀑布.mp4" autobuffer autoplay  controls poster="photo.jpg"></video>  <h2>优酷视频</h2>  <iframe src="http://v.youku.com/v_show/id_XMjg0OTQ1MDUwMA==.html?spm=a2hgm.20020864.m_206374.5~5~5~5~5~5!2~A&from=y1.3-game-new3-136-20864.205632-205633-206375-206374.1-1"  width="800" height="700"   ></iframe> </body> </html>

HTML5多媒体素材的<a href=加勒比海盗运用”>
http://blog.csdn.net/manredoo/article/details/73744246加勒比海盗5

[置顶] 小M开发_java零基础

java:

———————————————————————————————-

IDE:(Integrated Development Environment)集成开发环境

———————————————————————————————–

标识符的加勒比海盗命名:

Java语言中,对于变量,常量,函数,语句块也有名字,我加勒比海盗5们统统称之为Java标识符.
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的加勒比海盗
标识符的加勒比海盗命名规则:
命名上可以看出一个程序员的加勒比海盗好坏。
1.Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成
2.Java中是区分大小写的加勒比海盗,而且还要求首位不能是数字。最重要的加勒比海盗是,Java关键字不能当作Java标识符。

3.类和接口名。每个字的加勒比海盗首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。
4.方法名。首字符小写,其余的加勒比海盗首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。
5.常量名。基本数据类型的加勒比海盗常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。
6.变量名。可大小写混写,首字符小写,字间分隔符用字的加勒比海盗首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。

————————————————————————————————————————————————

服务器:硬件服务器,软件服务器(软硬构成一套体系);

Web服务器是运行及发布Web应用的加勒比海盗容器,只有将开发的加勒比海盗Web项目放置到该容器中,才能使网络中的加勒比海盗所有用户通过浏览器进行访问。开发Java Web应用所采用的加勒比海盗服务器主要是与JSP/Servlet兼容的加勒比海盗Web服务器,比较常用的加勒比海盗有Tomcat、Resin、JBoss、WebSphere 和 WebLogic 等,下面将分别进行介绍。

Tomcat 服务器

   目前最为流行的加勒比海盗Tomcat服务器是Apache-Jarkarta开源项目中的加勒比海盗一个子项目,是一个小型、轻量级的加勒比海盗支持JSP和Servlet 技术的加勒比海盗Web服务器,也是初学者学习开发JSP应用的加勒比海盗

首选。

Resin 服务器

   Resin是Caucho公司的加勒比海盗产品,是一个非常流行的加勒比海盗支持Servlet和JSP的加勒比海盗服务器,速度非常快。Resin本身包含了一个支持HTML的加勒比海盗Web服务器,这使它不仅可以显示动态内容,

而且显示静态内容的加勒比海盗能力也毫不逊色,因此许多网站都是使用Resin服务器构建。

JBoss服务器

   JBoss是一个种遵从JavaEE规范的加勒比海盗、开放源代码的加勒比海盗、纯Java的加勒比海盗EJB服务器,对于J2EE有很好的加勒比海盗支持。JBoss采用JML API实现软件模块的加勒比海盗集成与管理,其核心服务又是提供EJB

服务器,不包含Servlet和JSP的加勒比海盗Web容器,不过它可以和Tomcat完美结合。

WebSphere 服务器

   WebSphere是IBM公司的加勒比海盗产品,可进一步细分为 WebSphere Performance Pack、Cache Manager 和WebSphere Application Server等系列,其中WebSphere Application

 Server 是基于Java 的加勒比海盗应用环境,可以运行于 Sun Solaris、Windows NT 等多种操作系统平台,用于建立、部署和管理Internet和Intranet Web应用程序。


WebLogic 服务器

   WebLogic 是BEA公司的加勒比海盗产品,可进一步细分为 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中 WebLogic Server 的加勒比海盗功能特别强大。

WebLogic 支持企业级的加勒比海盗、多层次的加勒比海盗和完全分布式的加勒比海盗Web应用,并且服务器的加勒比海盗配置简单、界面友好。对于那些正在加勒比海盗5寻求能够提供Java平台所拥有的加勒比海盗一切

应用服务器的加勒比海盗用户来说,WebLogic是一个十分理想的加勒比海盗选择。


默认端口号:

1、Tomcat   默认端口号8080
2、MySQL   默认端口号3306
3、SqlServer  默认端口号 1433
4、Http    默认端口号 80

常用服务和开放端口对照表

http://jingyan.baidu.com/article/03b2f78c498da25ea237aeb8.html

———————————————————————————————————————-

MyEclipse:

加勒比海盗5Java中,main()方法是Java应用程序的加勒比海盗入口方法,也就是说,程序在加勒比海盗5运行的加勒比海盗时候,第一个执行的加勒比海盗方法就是main()方法,这个方法和其他

加勒比海盗方法有很大的加勒比海盗不同,比如方法的加勒比海盗名字必须是main,方法必须是public static void 类型的加勒比海盗,方法必须接收一个字符串数组的加勒比海盗参数等等。

具体详解在加勒比海盗5:http://lavasoft.blog.51cto.com/62575/53263

———————————————————————————————————————–

html: 


GET:

  • GET 请求可被缓存
  • GET 请求保留在加勒比海盗5浏览器历史记录中(数据会裸露在加勒比海盗5URL中)
  • GET 请求可被收藏为书签
  • GET 请求不应在加勒比海盗5处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST:

  • POST 请求不会被缓存
  • POST 请求不会保留在加勒比海盗5浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求(可以发大数据GET不可以)

标签

DIV:

块级标签(独占一行)

SPAN:

行级标签(不独占行)

http://blog.csdn.net/qq_36066908/article/details/73732252加勒比海盗5

JavaScript之遍历

一.for循环

  最常见的加勒比海盗遍历方法,用来遍历数组,学过编程语言的加勒比海盗基本都知道怎么用,如下:

var a = [1, 2, 3, 4, 5]; for (var i = 0; i < a.length; i++) {   console.log(a[i]); }

  上面这是最简单的加勒比海盗用法,我加勒比海盗5加勒比海盗5有些书里还经常看到这种用法,贴出来供参考:

var a = [1, 2, 3, 4, 5]; for (var i = 0, value; value = a[i++];) {   console.log(value); }

二.forEach,some和every

  对于数组来说,有时候经常有遍历所有属性值的加勒比海盗需求,javascript有三种数组的加勒比海盗辅助迭代器,每种方法的加勒比海盗参数都是一个回调函数,回调函数的加勒比海盗参数便是数组每一个属性对应的加勒比海盗值,下面一一说明:

var a = [1, 2, 3, 4, 5]; a.forEach(function (i) {   console.log(i);//1 2 3 4 5   // return true ,return false 或者不写返回值,结果都一样 });
  • some(..):一直运行直到回调函数返回 true (或者“真”值).返回true时相当于在加勒比海盗5for循环里break,会提前终止循环
var a = [1, 2, 3, 4, 5]; a.some(function (i) {   if (i === 3) {     return true;   }   console.log(i); //1 2   return false;//回调函数默认返回false,这里不写也可以 });
  • every(..):一直运行直到回调函数返回 false (或者“假”值).返回false时相当于在加勒比海盗5for循环里break,会提前终止循环
var a = [1, 2, 3, 4, 5]; a.every(function (i) {   if (i === 3) {     return false;   }   console.log(i);//1 2   return true;//回调函数默认返回false,这里return true必须要写,否则在加勒比海盗5遍历第一个属性值之后就会终止循环 });

三.for..in和for..of

关于对象属性是否可枚举可以参考我加勒比海盗5加勒比海盗上一篇博客

var obj = {   a: 1,   b: "lian" }; //给obj定义一个不可枚举的加勒比海盗属性c Object.defineProperty(obj, "c", {   value: 2,   emumerable: false,   writable: true,   configurable: true }); //虽然属性c不可枚举,但是值依然存在加勒比海盗5 console.log(obj.c); //8 for (var i in obj) {   //只会遍历可枚举属性   console.log(obj[i]); //1 lian }

for..in循环可遍历对象的加勒比海盗所有可枚举属性,所以一般用来遍历对象而不是数组,否则如果数组对象包含其他可枚举属性,遍历结果就会和期望结果不同:

var a = [1,2,3]; a.ex = "ex"; //注意这里遍历的加勒比海盗只是属性 for(var i in a){   console.log(i); // 0 1 2 ex }
  • for..of :为了弥补for..in循环遍历数组的加勒比海盗缺陷,ES6推出了for..of循环
var a = [1,2,3]; a.ex = "ex"; //而这里遍历的加勒比海盗是属性的加勒比海盗 for(var i of a){   console.log(i); // 1 2 3 }

由上面的加勒比海盗测试可以看出for..in循环默认遍历的加勒比海盗是可枚举属性列表,所以更适合遍历对象
而for..of循环默认遍历数组每一项的加勒比海盗值,所以更适合遍历数组,
虽然数组也算是对象,但这里数组指的加勒比海盗只是Array对象(因为Array对象内置了@@iterator,这里不讨论)而不包括伪数组对象(具有length属性且可以通过下标访问属性值),如执行下面的加勒比海盗代码就会报错:

var a = {   length:2,   0:1,   1:"lian" } for(var i of a){   console.log(i);  }

四.其他

加勒比海盗5们在加勒比海盗5网页开发时经常会用到map方法,map() 方法创建一个新数组,其结果是该数组中的加勒比海盗每个元素都调用一个提供的加勒比海盗函数后返回的加勒比海盗结果。

var a = [1,2,3]; var result = a.map(function (i) {   return i*3; }); console.log(result); //[ 3, 6, 9 ]

上面的加勒比海盗代码就是每次取出a的加勒比海盗每一个属性值,调用方法生成一个新的加勒比海盗结果值,然后将结果值存入返回值的加勒比海盗数组中,所以result是一个数组,每一项的加勒比海盗值是a每一项的加勒比海盗值乘以3的加勒比海盗结果
map在加勒比海盗5网页开发中通常用来根据data值批量生成DOM节点,更多用法可以自己慢慢体会

http://blog.csdn.net/qq_23158083/article/details/73742110加勒比海盗5

表单的验证

笔记

      自己写的加勒比海盗一个表单验证  是一项一项的加勒比海盗验证   此处借鉴了博友的加勒比海盗全局变量 不然没有办法在加勒比海盗5最后验证的加勒比海盗时候确保验证都通过了 下面我加勒比海盗5贴出我加勒比海盗5写的加勒比海盗代码…..

<script>
        $(function(){
            var flag1=false;
            var flag2=false;
            var flag3=false;
            var flag4=false;
            var flag5=false;
            var flag6=false;
            $(‘input.userName’).blur(function(){
                var reg =/^/w{4,}$/,
                    userName = $(this).val(),
                    zhen    = $("input.userName").parent().siblings().children("label");
                if(userName==""||(!reg.test(userName))){
                    zhen.html("请输入账号,并且账号须大于4位 !谢谢··");
                    flag1 = false;
                }else{
                    zhen.html("");
                    flag1 = true;
                }

            })
            $("input.pwd").blur(function(){
                var pwd = $(this).val(),
                    reg =/^/w{4,16}$/,
                    zhen    = $("input.pwd").parent().siblings().children("label");
                if(pwd==""||(!reg.test(pwd))){
                    zhen.html("请输入密码,并且密码由数字构成,长度在加勒比海盗54-16位之间 !");
                    flag2 = false;
                }else{
                    zhen.html("");
                    flag2 = true;
                }
                surepass();
            })
            $("input.rpwd").blur(function(){
                surepass();
            })
            function surepass(){
                var rpwd = $(‘.rpwd’).val(),
                    pwd = $(‘.pwd’).val(),
                    zhen    = $("input.rpwd").parent().siblings().children("label");
                if(rpwd!=="" && pwd!==""){
                    if(rpwd!==pwd){
                        zhen.html("两次密码输入不一致,请核对后重新输入! 谢谢··");
                        flag3 = false;
                    }else{
                        zhen.html("");
                        flag3 = true;
                    }
                }else{
                    zhen.html("密码不能空,请核对后重新输入!谢谢··");
                    flag3 = false;
                }
            }
//        银行卡
            $("input.bank").blur(function(){
                var bank = $(this).val(),
                    reg  = /(^/d{16}|/d{19})$/,
                    zhen    = $("input.bank").parent().siblings().children("label");
                if(!reg.test(bank)){
                    zhen.html("请输入正确位数的加勒比海盗银行卡号! 谢谢··");
                    flag6 = false;
                }else{
                    zhen.html("");
                    flag6 = true;
                }
            })
//        用户名
            $(‘input.Name’).blur(function(){
                var Name = $("input.Name").val(),
                    testValue=/^[/u2E80-/u9FFF]+$/,
                    zhen    = $("input.Name").parent().siblings().children("label");
                if(testValue.test(Name)){
                    if(Name.length> 4 || Name.length <= 1){
                        zhen.html("姓名为2-4个字符  !");
                        flag4 = false;
                    }else{
                        zhen.html("");
                        flag4=true;
                    }
                }else{
                    zhen.html("姓名必须为汉字! 谢谢··")
                    flag4 = false;
                }
            })
            $("input.idCard").blur(function(){
                var idCard = $(".idCard").val(),
                    sfz    = /(^/d{15}$)|(^/d{18}$)|(^/d{17}(/d|X|x)$)/;
                zhen    = $("input.idCard").parent().siblings().children("label");
                if(!sfz.test(parseInt(idCard))){
                    zhen.html("请输入正确的加勒比海盗身份证号码  谢谢··");
                    flag5=false;
                }else{
                    zhen.html("");
                    flag5=true;
                }
            })
            $("#sub").click(function () {
                if(flag1 && flag2 && flag3 && flag4 && flag5 && flag6){
//                    alert("成功")
                    $("#form").submit();
                }
                else{
                    layer.alert("请填写以上内容,谢谢!",{"icon":5,timer:1500});
                    return false;
                }

            })
        })
</script>

此处用的加勒比海盗是的加勒比海盗匿名函数的加勒比海盗方法。。。

http://blog.csdn.net/qiqi8527369/article/details/73733830加勒比海盗5

bind

加勒比海盗运用”>Function中bind的加勒比海盗运用

fun.bind(thisArg[, arg1[, arg2[, …]]])

函数bind的加勒比海盗作用就是生成一个新的加勒比海盗函数,而这个函数的加勒比海盗this指向就改为了我加勒比海盗5们的加勒比海盗第一个参数了。

举个栗子

var a={     x:666,     way:function(){         console.log(this.x)     } } var b={     x:888 } var c=a.way.bind(b)() // 888

很明显的加勒比海盗看到,在加勒比海盗5绑定了b过后,way方法this指向就转向了b,既得出的加勒比海盗答案为888

这里注意,绑定过程只是生成一个新的加勒比海盗函数,并不执行它,所以这个与继承call还是有点区别的加勒比海盗

非第一个参数

除了第一个参数外,其他参数的加勒比海盗作用就是在加勒比海盗5调用时,作为最前面的加勒比海盗参数传入到新函数中去。

栗子

function lists(){   return  Array.prototype.slice.call(arguments) } //lists 函数生成以参数组成的加勒比海盗数组  var b=lists.bind(null,"博主") console.log(b('真帅')) // ['博主', '真帅']

通过添加不为第一个参数时,我加勒比海盗5们直接将该参数作为最前面的加勒比海盗参数传进了新建好的加勒比海盗绑定函数。

加勒比海盗5绑定行数生成后,直接调用的加勒比海盗话this的加勒比海盗绑定效果还是起作用的加勒比海盗,如果选择new得方式调用,发现this的加勒比海盗指向bind效果并不生效了。

var a={     x:666,     way:function(){         console.log(this.x)     } } var b={     x:888 } var c=a.way.bind(b) console.log(new c()) // undefined

总结:bind的加勒比海盗作用其实就是在加勒比海盗5调用时指向我加勒比海盗5们需要的加勒比海盗this指向,这一点其实我加勒比海盗5们可以跟call进行比较来学习

http://blog.csdn.net/qq_35999481/article/details/73741248加勒比海盗5

FineReport中如何对cpt模板加密

1. 描述

FR客户使用FineReport报表并将其集成到自己的加勒比海盗产品中,然后提供给最终用户使用,最终用户可以预览FR模板,但是不能打开模板进行设计修改。

FineReport提供了cpt模板Des加密功能来实现此需求,即模板在加勒比海盗5集成至系统之前被加密了,其他使用者如果想打开模板进行修改设计,就需要输入密码,下面介绍cpt模板加密的加勒比海盗使用方法.


2. 加密

2.1 管理员登录

加勒比海盗5浏览器地址栏中输入链接http://localhost:8075/WebReport/ReportServer?op=ecp, FineReport首先检查是否存在加勒比海盗5session或者session中fr_isroot参数, 若没登陆或者非管理员的加勒比海盗话,则跳转到决策系统登陆界面,再用管理员账号登录,如下图:

FineReport中如何对cpt模板加密 

2.2 密码设置

输入管理员帐号和密码,页面会跳转到模板加密界面,设置加密密码,如下图:

 FineReport中如何对cpt模板加密

注:密码长度为6~16个字符,支持字母、数字。

2.3 模板备份

点击开始加密,首页会弹出备份文件存储的加勒比海盗文件路径选择框,如下图:

FineReport中如何对cpt模板加密

注:加密前最好先对模板进行备份,因为加密了的加勒比海盗模板是没法解密的加勒比海盗,只能靠输入密码来进行模板修改,也就是说加密后的加勒比海盗模板无法还原到加密前的加勒比海盗状态。

点击确定即可,然后FineReport就会对该工程下的加勒比海盗所有模板进行加密。

注:cpt加密只能对工程下所有模板加密,不能单独加密。

cpt模板加密完成之后,在加勒比海盗5%FR_Home%/WebReport/WEB-INF/resources文件夹下面会生成一个encryption.key的加勒比海盗文件,该文件中存储的加勒比海盗是加密信息,该文件不能删除,删除之后,该工程下的加勒比海盗所有模板均无法使用。

FineReport中如何对cpt模板加密

2.4 效果查看

到此为止,模板加密已经完成,回到设计器,双击打开GettingStarted模板,会弹出密码输入对话框:

 FineReport中如何对cpt模板加密

注:输入正确的加勒比海盗密码之后,该台机器上该工程所有模板都无需再次输入密码

3. 重新加密

加勒比海盗5浏览器中重新输入加密地址http://localhost:8075/WebReport/ReportServer?op=ecp,用管理员账号登录,FineReport会去读取当前工程reportlets文件夹下的加勒比海盗第一张模板,判断是否已经加密,如果没有加过密则跳转到加密界面,如上,如果已经加过密,则跳转到重新加密界面,如下图:

FineReport中如何对cpt模板加密

设置过程同加密过程。

http://blog.csdn.net/szd_happy/article/details/73734056加勒比海盗5

【剑指Offer】两个栈实现一个队列

【剑指Offer】两个栈实现一个队列

两个栈倒腾一下,单个弹出,就可以了

<!DOCTYPE html> <html> <head>  <title>2stack to </title>  <meta charset="utf-8">  <script type="text/javascript">  var arr1= [];  var arr2= [];  //定义栈  function stack(arr){   this.push = function(element){    arr.push(element);    return arr;   }   this.out = function(){    arr.pop();    return arr;   }   this.outNum = function(){    var last = arr.pop();    return last;   }   this.size = function(){    return arr.length;   }   this.getHead = function(){    return arr[0];   }   this.getRear = function(){    return arr[arr.length-1]   }    this.displayStack = function(){    // for(var i = 0; i<arr.length; i++){    //  console.log();    // }    console.log(arr);   }  }  //创建一个对象,然后就可以调用封装好的加勒比海盗方法  var newStack = new stack(arr1);  newStack.push(1);  newStack.push(2);  newStack.push(3);  newStack.push(4);  // console.log(arr1);  newStack.displayStack();//调用打印栈的加勒比海盗方法  var len = newStack.size();//获取栈的加勒比海盗大小      var newStack2 = new stack(arr2);  for(var i = 0; i <len; i++){//把第一个栈的加勒比海盗内容弹出,依次压到第一个栈中   var temp = newStack.outNum();   newStack2.push(temp);  }  newStack2.displayStack();//打印第二个栈  </script>   </head> <body>   </body> </html>

http://blog.csdn.net/xin9910/article/details/73740963加勒比海盗5

Vue.js实现一个todo-list的上移,下移,删除功能

如图,A simple todo-list长这样Vue.js实现一个todo-list的<a href=加勒比海盗上移,下移,删除功能”>


这是一个基于vue.js的加勒比海盗一个简单的加勒比海盗todo-list小demo。首先要实现添加非空list,点击list切换finished状态这样的加勒比海盗一个效果,推荐学习地址—->点击打开链接

接下来是实现的加勒比海盗一个上移,下移,删除的加勒比海盗效果图:

Vue.js实现一个todo-list的<a href=加勒比海盗上移,下移,删除功能”>

删除效果:

Vue.js实现一个todo-list的<a href=加勒比海盗上移,下移,删除功能”>

讲一下思路:

上移—–首先将鼠标所指list的加勒比海盗内容插入到上一条上面,然后删除鼠标所指的加勒比海盗list(也就是this.items[index]),运行代码便可实现上移的加勒比海盗效果,或者将上下两条list的加勒比海盗内容进行调换也是可以的加勒比海盗

删除—–这里和上下移一样,主要是用到了操作数组的加勒比海盗splice这个方法,既可以添加也可以删除,不懂的加勒比海盗去补一下

小二~上代码:

----App.vue----
    <div><input v-model="newItem" v-on:keyup.enter="addNew"></div>     <div class="box-center">       <ul class="box-list">         <li v-for="item ,index in items" v-bind:class="{finished:item.isfinished}"  
          v-on:mouseover="moveBtn(item)" v-on:mouseout="leaveBtn(item)">           <span v-on:click="toggleFinished(item)" v-bind:class="{bgYellow:item.isBgyellow}">{{item.label}}</span>           <span class="list-btn" v-show="item.isShow">             <button v-on:click="moveUp(index,item)">上移</button>             <button v-on:click="moveDown(index,item)">下移</button>             <button v-on:click="deleteBtn(index)">删除</button>           </span>         </li>       </ul>      </div>
----Store.js----
const STORAGE_KEY = 'todos-vuejs' export default {   fetch () {     return JSON.parse(window.localStorage.getItem(       STORAGE_KEY) || '[]')   },   save (items) {     window.localStorage.setItem(STORAGE_KEY,JSON.stringify(       items))   } } 
----App.vue----
<script>  import Store from './store'  export default {    data: function() {     return {       title: 'A simple todo-list',       items: Store.fetch(),       newItem: '',       msg:'点击按钮',        isShow: false,       isBlock: true,       isBgyellow: false,       leftPx:0,       topPx:0     }   },   watch: {     items: {       handler: function(items) {         Store.save(items)       },       deep: true     }   },   methods: {     toggleFinished: function(item) {       item.isfinished = !item.isfinished     },     show:function ($event) {       $event.cancelBubble=true;       this.isBlock = false;       this.topPx = ($event.clientY);       this.leftPx = ($event.clientX);     },     stop:function(event){         this.isBlock = true;     },     moveBtn:function(item) {       // console.log(item.label)       item.isShow = true;     },     leaveBtn:function(item) {       item.isShow = false;     },     addNew: function() {       //非空才可以添加       if(this.newItem!=''){         this.items.push({           label: this.newItem,           isfinished: false         })               }       this.newItem = '';     },     moveUp:function(index,item) {       //在加勒比海盗5上一项插入该项       this.items.splice(index-1,0,(this.items[index]));       //删除后一项       this.items.splice(index+1,1);       item.isShow = false;       if(index == 0) {         alert("到顶啦!");       }     },     moveDown:function(index,item) {       //在加勒比海盗5下一项插入该项       this.items.splice(index+2,0,(this.items[index]));       //  删除前一项       this.items.splice(index,1);       item.isShow = false;       if(index == this.items.length-1) {         alert("已经是最后一项啦!");       }     },     deleteBtn:function(index) {       this.items.splice(index,1);     }   }, } </script> 

套路就是在加勒比海盗5html中插入方法或者class,methods中对数据进行操作~


总结:

这是本小白入门vue.js学习的加勒比海盗第一个demo,有一些jquery的加勒比海盗观念不能很好的加勒比海盗转变,总是习惯性的加勒比海盗操作dom节点,殊不知vue可以有更好的加勒比海盗方式去实现,

接下来这个项目还有新的加勒比海盗需求(将功能收进右键菜单中,增加更换背景色的加勒比海盗按钮),希望能对你有所帮助~






http://blog.csdn.net/ljw_josie/article/details/73732271加勒比海盗5

js断点调试 提高你的开发效率

加勒比海盗5加勒比海盗5们平时开发中遇到bug调试的加勒比海盗时候 可能大部分新手都会用alert() 入门一些的加勒比海盗用console.log()(反正我加勒比海盗5就是从这个阶段走过来的加勒比海盗)。

如果是一些小型的加勒比海盗开发以上两个调试还可以,但是现在加勒比海盗5前端越来越庞大,越来越多的加勒比海盗逻辑处理都放在加勒比海盗5了前端。如果还是用以上的加勒比海盗方法进行Bug调试 将会很影响开发效率 。

下面我加勒比海盗5要说的加勒比海盗就是浏览器中的加勒比海盗断点调试 很多浏览器给我加勒比海盗5们提供了很方便的加勒比海盗bug调试程序,以谷歌浏览器为例,接触过java的加勒比海盗人可能知道强大的加勒比海盗集成开发工具Eclipse它里面就提供了断点调试,下面我加勒比海盗5们要说的加勒比海盗是js的加勒比海盗断点调试,谷歌浏览器,F12打开控制台Source 为用于查看和调试当前页面所加载的加勒比海盗脚本的加勒比海盗源文件。js断点调试 提高你的<a href=加勒比海盗开发效率”>




http://blog.csdn.net/weixin_39308156/article/details/73733664加勒比海盗5

时间转化及应用


字符串转换成date格式

想法是替换成标准2017-06-26格式,然后使用Date方法转换成Date格式

        //日期字符串转化Date         convertDateFromString: function (dateString) {             if (dateString) {                 var sdate = new Date(dateString.replace(/-/, "/"));                 return sdate;             }         },

date格式转换成字符串

toString()把 Date 对象转换为字符串。
toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
时间转化及应用

有关时间戳

Date.parse()函数用于分析一个包含日期的加勒比海盗字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的加勒比海盗毫秒数。
函数的加勒比海盗返回值为Number类型,返回该字符串所表示的加勒比海盗日期与 1970 年 1 月 1 日午夜之间相差的加勒比海盗毫秒数。
Date.getTime() 返回 1970 年 1 月 1 日至今的加勒比海盗毫秒数。

// 获取某个时间格式的加勒比海盗时间戳 var stringTime = "1992-04-17 12:21:12"; var timestamp2 = Date.parse(new Date(stringTime)); timestamp2 = timestamp2 / 1000; //1992-04-17 12:21:12的加勒比海盗时间戳为:703484472  console.log(stringTime + "的加勒比海盗时间戳为:" + timestamp2); //获取今天这个时刻的加勒比海盗时间戳 var nowDate = new Date(); 

拆分时间计算

想法是根据隔开数字的加勒比海盗符号拆分字符串,获取年,月,日,组成一个数组,这样就可以需要哪个就提取哪个了,最后再重新组成一个需要的加勒比海盗字符串。

//这里引用的加勒比海盗是数据表格里面的加勒比海盗formatter例子  //有效期状态         isState: function (value, row, index) {  //根据传入的加勒比海盗时间+有效期限<当前时期 判断是否过期             var limitMonth = row.yxdate;//默认有效期6个月             var cDate = userRoleSetting.convertDateFromString(value);//传入的加勒比海盗日期:2017-5-15             var ndate = (new Date()).toLocaleDateString(); //获取当前的加勒比海盗日期:2017-6-19             date1 = value.split('-');//拆分日期             var outDateD = date1[2];             date11 = ndate.split('/');//拆分日期             // 得到总月数             date1 = parseInt(date1[0]) * 12 + parseInt(date1[1]);             date11 = parseInt(date11[0]) * 12 + parseInt(date11[1]);             date2 = date1 + parseInt(limitMonth);             var outDateY = parseInt(date2 / 12);             var outDateM = date2 % 12;             if (date2 < date11) {//创建日期+有效日期在加勒比海盗5今天之前,显示过期,否则显示到期日期                 return '<span style="color: red;">已过期</span>';             } else {                 return '<span style="color: green">' + outDateY + '-' + outDateM + '-' + outDateD + '</span>';             }         }

http://blog.csdn.net/yingjiekuaile/article/details/73740537加勒比海盗5