Javscript库 StdJS

码农软件 · 软件分类 · 其他开发相关 · 2019-10-19 13:59:52

软件介绍

StdJS 是一套功能扩展与增强型的 Javascript 库,其设计的的目的不仅是要解决现有的问题,修复固有的缺陷,以更容易,更快速的方式实现特定的功能,更是要让 JS 的本身从整体上得到提升。

使用 StdJS 时候不需要去使用某种抽象的逻辑,固有的模式去完成某些工作,而是让开发者利用其本身的功能去直接的达到目的,以尽可能的高效率去完成尽可能高质量的项目。


一些StdJS的代码例子

/*
* 创建一个div节点同时包含10个HTML为abc的span子节点,并添加到body.
*/
var abc = new Std.dom("div>span{abc}*10","body")


<!--
利用css selector方式来编写html代码,该代码可以直接被转换为html
-->
<script type="text/std-css-selector" render-here="true">
    (.header > .title + .navigation) +
    (.body > .content > span{body content}) +
    (.footer > .links > (a[href='#']{link1} + a[href='#']{link2}))
</script>


<!--
用css selector字符串进行快速创建UI组建的布局,比JS创建省下了80%的代码
-->

<script type="text/std-ui" std-name="test">
GridLayout[rows=3][columns=2] > (
    (Label{名称:} + LineEdit#name) +
    (Label{日期:} + DateTimeEdit#dateTime) +
    (Label{描述:} + TextEdit#text)
)
</script>
            


/*
* 异步载入第三方外部资源文件,文件全部载入之后会触发 Std.main 方法
* Std.require 方法支持跨域文件的载入
*/

//3个文件同时载入
Std.require("1.js","1.css","123.png");

//3个文件顺序载入,一个载入完成之后载入下一个
Std.require(["1.js","1.css","123.png"]);


/*
* 设置代码仓库的源地址,当使用代码源中包时自动加载对应代码文件,而无需手动调用
* 源中可以包含数千个包,而这些包仅会在使用时候才会被载入.
*/
Std.source("StdJS","http://source.stdjs.com");

//载入名称为 ui.Window 包之后触发回调函数
Std.use("ui.Window",function(){
    //...
});

//创建一个函数,在执行这个函数时候,自动从代码源中载入包 "ui.Button","ui.ToolBar"
var func1 = Std.func(function(){
    //....
},{
    packages:["ui.Button","ui.ToolBar"]
});


/*
* 添加新的根据浏览器内核自动调配的css规则.
* 该方法可以自动解决浏览器的兼容性,并且随时可以删除或禁用这个规则
* 该方法在大多情况下都可以直接替代style或link标签来载入css
*/
Std.css({
    body:{
        color:"red",
        transform:"skewY(-6deg)"
    },
    span:{
        color:"black"
    },
    "#content":{
        '>':{
            p:{
                lineHeight:"20px"
            }
        }
    }
});


<!--
通过html标签创建Std.animation.keyframes与CSS3通用并兼容所有浏览器的动画规则..
StdJS内置解析和执行的模块,无需浏览器支持,可以在低版本的浏览器中运行
可以动态的手动暂停或者停止正在执行的任务
-->

<script type="text/std-animation">
@keyframes testKeyframe{
    0%{
      width:50px;
      height:100px;
      background:red;
    }
    50%{
      width:90px;
      height:120px;
      background:blue;
      color:red;
      animation-timing-function:ease;
    }
    100%{
      height:150px;
      width:300px;
      background:green;
      color:blue;
    }
}
</script>


<!--
高性能模板,内置两套语法,简写语法和JS语法
-->

<script type="text/std-template" std-name="tpl1">
    <?@include 'header.tpl'?>
    <div class="title"><?=title?></div>
    <?#each abc as index,value?>
    <div class="item">
        <div class="_index"><?=index?></div>
        <div class="_value"><?=value?></div>
    </div>
    <?/each?>
</script>

<script>
    Std.main(function(){
        Std.template("tpl1").renderTo("body",{
            abc:["first","second","last"],
            title:"title text"
        });
    })
</script>


/*
* 创建两个模块,A和B,模块B继承模块A
* 模块B会继承模块A的所有参数,例如静态方法,option参数选项,模型等
* 模块可以被多次继承,成员方法本身也可以被多次扩展
*/
var A = Std.module({
    model:"events",
    option:{
        width:32,
        height:32,
        name:"test"
    },
    static:{
        func1:function(){
            console.log("static func1");
        },
        func2:function(){
            console.log("static func2");
        }
    },
    public:{
        func1:function(){
            console.log("func1_A");
        },
        func2:function(){
            console.log(this.opts.name);
        }
    },
    main:function(option){
        this.init_opts(option);
        console.log("main_a");
    }
});

//创建模块B,继承模块A,并且扩展成员方法func1
var B = Std.module({
    parent:A,
    option:{
        name:"testB"
    },
    extend:{
        func1:function(){
            console.log("func1_B")
        }
    },
    main:function(){
        console.log("main_b");
    }
})

//创建模块A的实例
var a = new A({width:44});

//创建模块B的实例
var b = new B({width:56});




本文地址:https://codercto.com/soft/d/17100.html

组合数学教程

组合数学教程

范林特 / 刘振宏、赵振江 / 机械工业出版社 / 2007-4 / 49.00元

本书介绍组合数学中的基础理论和实际应用,讲述的内容非常广泛,讨论的问题涵盖组合数学所涉及的绝大部分领域。本书不仅包含了通常组合数学教科书中的经典内容,而且收集了若干新的内容,如Lovász筛法、范德瓦尔登积和式猜想、结合区组设计、码和设计等。 本书阐述深入浅出,简明易懂,适合作为高等院校高年级本科生与低年级研究生的组合数学课程教材,也适合作为数学和其他学科的研究人员的参考书。一起来看看 《组合数学教程》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具