随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
苏州IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅱ 盐城北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
盐城IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅲ 这些被同事喷的JS代码风格,你写过多少
现在写代码比以前好多了,代码的格式都有eslint、prettier、babel(写新版语法)
这些来保证,然而,技术手段再高端都不能解决代码可读性(代码能否被未来的自己和同事看懂)的问题,因为这个问题只有人自己才能解决。我们写代码要写到下图中左边这样基本上就功德圆满了。
一、变量相关
(1)变量数量的定义
NO:滥用变量
letkpi=4;//定义好了之后再也没用过functionexample(){vara=1;varb=2;varc=a+b;vard=c+1;vare=d+a;returne;}
YES:数据只使用一次或不使用就无需装到变量中
letkpi=4;//没用的就删除掉,不然过三个月自己都不敢删,怕是不是那用到了functionexample(){vara=1;varb=2;return2a+b+1;}
(2)变量的命名
NO:自我感觉良好的缩写
letfName='jackie'//看起来命名挺规范,缩写,驼峰法都用上,ESlint各种检测规范的工具都通过,But,fName是啥?
这时候,你是不是想说Whatareyou弄啥呢?letlName='willen'//这个问题和上面的一样
YES:无需对每个变量都写注释,从名字上就看懂
letfirstName='jackie'//怎么样,是不是一目了然。少被喷了一次letlastName='willen'```
(3)特定的变量
NO:无说明的参数
if(value.length<8){//为什么要小于8,8表示啥?长度,还是位移,还是高度?Oh,myGod!!....}
YES:添加变量
constMAX_INPUT_LENGTH=8;if(value.length
(4)变量的命名
NO:命名过于_嗦
letnameString;lettheUsers;
YES:做到简洁明了
letname;letusers;
(5)使用说明性的变量(即有意义的变量名)
NO:长代码不知道啥意思
constaddress='OneInfiniteLoop,Cupertino95014'constcityZipCodeRegex=/^[^,\]+[,\s]+(.+?)s*(d{5})?$/;saveCityZipCode(address.match(cityZipCodeRegex)[1],
//这个公式到底要干嘛,对不起,原作者已经离职了。自己看代码address.match(cityZipCodeRegex)[2],//这个公式到底要干嘛,对不起,原作者已经离职了。自己看代码);
YES:用变量名来解释长代码的含义
constaddress='OneInfiniteLoop,Cupertino95014'constcityZipCodeRegex=
/^[^,\]+[,\s]+(.+?)s*(d{5})?$/;const[,city,zipCode]=
address.match(cityZipCodeRegex)||[];saveCityZipCode(city,zipCode);
(6)避免使用太多的全局变量
NO:在不同的文件不停的定义全局变量
name.jswindow.name='a'hello.jswindow.name='b'time.jswindow.name='c'//三个文件的先后加载顺序不同,都会使得window.name的值不同,同时,
你对window.name的修改了都有可能不生效,因为你不知道你修改过之后别人是不是又在别的说明文件中对其的值重置了。所以随着文件的增多,会导致一团乱麻。
YES:少用或使用替代方案
你可以选择只用局部变量。通过(){}的方法。
如果你确实用很多的全局变量需要共享,你可以使用vuex,rex或者你自己参考flux模式写一个也行。
(7)变量的赋值。
NO:对于求值获取的变量,没有兜底。
constMIN_NAME_LENGTH=8;letlastName=fullName[1];if(lastName.length>MIN_NAME_LENGTH){//这样你就给你的代码成功的埋了一个坑,
你有考虑过如果fullName=['jackie']这样的情况吗?这样程序一跑起来就爆炸。要不你试试。....}
YES:对于求值变量,做好兜底。
constMIN_NAME_LENGTH=8;letlastName=fullName[1]||''//做好兜底,fullName[1]中取不到的时候,不至于赋值个undefined,至少还有个空字符,
从根本上讲,lastName的变量类型还是String,String原型链上的特性都能使用,不会报错。
不会变成undefined。if(lastName.length>MIN_NAME_LENGTH){....}其实在项目中有很多求值变量,
对于每个求值变量都需要做好兜底。letpropertyValue=Object.attr||0;//因为Object.attr有可能为空,
所以需要兜底。但是,赋值变量就不需要兜底了。leta=2;//因为有底了,所以不要兜着。letmyName='Tiny'//因为有底了,所以不要兜着。
二、函数相关
(1)函数命名
NO:从命名无法知道返回值类型
functionshowFriendsList(){....}//
现在问,你知道这个返回的是一个数组,还是一个对象,还是trueor
false。你能答的上来否?你能答得上来我请你吃松鹤楼的满汉全席还请你不要当真。
Yes:对于返回trueorfalse的函数,最好以should/is/can/has开头
functionshouldShowFriendsList(){...}functionisEmpty(){...}functioncanCreateDocuments(){...}functionhasLicense(){...}
(2)功能函数最好为纯函数
NO:不要让功能函数的输出变化无常。
functionplusAbc(a,b,c){//这个函数的输出将变化无常,因为api返回的值一旦改变,同样输入函数的a,b,c的值,但函数返回的结果却不一定相同。varc=fetch('../api');returna+b+c;}
YES:功能函数使用纯函数,输入一致,输出结果永远唯一
functionplusAbc(a,b,c){//同样输入函数的a,b,c的值,但函数返回的结果永远相同。returna+b+c;}
(3)函数传参
NO:传参无说明
page.getSVG(api,true,false);//true和false啥意思,一目不了然
YES:传参有说明
page.getSVG({imageApi:api,includePageBackground:true,//一目了然,知道这些true和false是啥意思compress:false,})
(4)动作函数要以动词开头
NO:无法辨别函数意图
functionemlU(user){....}
YES:动词开头,函数意图就很明显
functionsendEmailToUser(user){....}
(5)一个函数完成一个独立的功能,不要一个函数混杂多个功能
这是软件工程中最重要的一条规则,当函数需要做更多的事情时,它们将会更难进行编写、测试、理解和组合。当你能将一个函数抽离出只完成一个动作,他们将能够很容易的进行重构并且你的代码将会更容易阅读。如果你严格遵守本条规则,你将会领先于许多开发者。
NO:函数功能混乱,一个函数包含多个功能。最后就像能以一当百的老师傅一样,被乱拳打死(乱拳(功能复杂函数)打死老师傅(老程序员))
functionsendEmailToClients(clients){clients.forEach(client=>{constclientRecord=database.lookup(client)if(clientRecord.isActive()){email(client)}})}
YES:功能拆解,
(clients){//各个击破,易于维护和复用clients.filter(isActiveClient).forEach(email)}functionisActiveClient(client)
_constclientRecord=database.lookup(client)returnclientRecord.isActive()}
(6)优先使用命令式编程
NO:使用for循环编程
for(i=1;i<=10;i++){//一看到for循环让人顿生不想看的情愫a[i]=a[i]+1;}
YES:使用命令式编程
letb=a.map(item=>++item)//
怎么样,是不是很好理解,就是把a的值每项加一赋值给b就可以了。现在在javascript中几乎所有的for循环都可以被map,filter,find,some,any,forEach等命令式编成取代。
(7)函数中过多的采用ifelse..
No:ifelse过多
if(a===1){...}elseif(a===2){...}elseif(a===3){...}else{...}
YES:可以使用switch替代或用数组替代
switch(a){case1:....case2:....case3:....default:....}Orlethandler={1:()=>{....},2:()=>{....}.3:()=>{....},
default:()=>{....}}handler[a]()||handler['default']()
三、尽量使用ES6,有可能的话ES7中新语法
(只罗列最常用的新语法,说实话,有些新语法不怎么常用)
(1)尽量使用箭头函数
NO:采用传统函数
functionfoo(){//code}YES:使用箭头函数letfoo=()=>{//code}
(2)连接字符串
NO:采用传统+号
varmessage='Hello'+name+',it's'+time+'now'
YES:采用模板字符
varmessage=`Hello${name},it's${time}now`
(3)使用解构赋值
NO:使用传统赋值:
vardata={name:'dys',age:1};varname=data.name;varage=data.age;varfullName=['jackie','willen'];varfirstName=fullName[0];varlastName=fullName[1];
YES:使用结构赋值:
constdata={name:'dys',age:1};const{name,age}=data;//怎么样,是不是简单明了varfullName=['jackie','willen'];const[firstName,lastName]=fullName;
(4)尽量使用类class
NO:采用传统的函数原型链实现继承
典型的ES5的类(function)在继承、构造和方法定义方面可读性较差,当需要继承时,优先选用class。代码太多,就省略了。
YES:采用ES6类实现继承
classAnimal{constructor(age){this.age=age}move(){/*...*/}}classMammalextendsAnimal{constructor(age,
_urColor){super(age)this.furColor=furColor}liveBirth(){/*...*/}}classHumanextendsMammal{constructor(age,
_urColor,languageSpoken){super(age,furColor)this.languageSpoken=languageSpoken}speak(){/*...*/}}
先写到这了,这是目前为止发现的问题,这篇文章中并没有完全覆盖到常见的写代码的不好的习惯,所以你如果觉的有需要补充的,都可以在文章下方评论,或者直接到我的Github的这篇文章中评论。对于有用的,都将补充到我的掘金和Github中去。同时,你如果觉的文章写得还可以,Please在我的Github中送上你宝贵的Star,你的Star是我继续写文章最大的动力。
注:除了上述这些人为习惯之外,就像前面提到的,对于机械性的,你可以使用Babel、Eslint、Prettier这些工具来保证代码的格式一致。
Ⅳ 佳音北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
佳音IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅳ 四川北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
四川IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅵ 广州北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
广州IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅶ Vue.js中常用指令有哪些
数据渲染:v-text、v-html、{{}}
v-for 渲染循环列表
v-on绑定事件
v-bind 绑定属性
Ⅷ 运城北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
运城IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅸ 厦门北大青鸟分享JavaScript编程开发常用的库
随着互联网编程开发技术的不断发展,关于软件编程的框架和库的种类也在不断的增加。
今天我们就一起来了解一下,常见的JavaScript编程开发都有哪些库。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一个用来构建用户界面的JavaScript库,主要用于构建UI,很多人认为React是MVC中的V(视图)。
React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
React特点:1.声明式设计?React采用声明范式,可以轻松描述应用。
2.高效?React通过对DOM的模拟,大限度地减少与DOM的交互。
3.灵活?React可以与已知的库或框架很好地配合。
4.JSX?JSX是JavaScript语法的扩展。
React开发不一定使用JSX,但我们建议使用它。
5.组件?通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流?React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。
它支持整个开发进程,提供Web应用的架构,无需进行手工DOM操作。
AngularJS很小,只有60K,兼容主流浏览器,与jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是构建Web界面的JavaScript库,提供数据驱动的组件,还有简单灵活的API,使得MVVM更简单。
主要特性:可扩展的数据绑定将普通的JS对象作为model简洁明了的API组件化UI构建配合别的库使用4、jQuery(Star:43432,Fork:12117)JQuery是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
厦门IT培训http://www.kmbdqn.cn/认为jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
Ⅹ js里面$是什么意思
js中的$是使用在使用jQuery的函数。
大多数时候用作jQuery对象或Zepto对象命名表示,比如:
Jquery("body"); //选中了bodyDOM节点;
$("body");//也可以用这种方式表示选中了bodyDOM节点;
而Zepto则是一个移动端前端类似jQuery的JS库,而且用法大都是一样。
命令提示符
$符号是输入命令的提示符它不是命令本身的一部分。例如$date[ENTER]ThuMay3001:23:11PDT2013$此处输入的命令是date。该命令显示当前日期、时间和年。在当前日期显示之后注意会显示$符号。看到这个提示符之后都可输入命令名并按Enter,这就执行了键入的命令。当命令执行时,提示符不被显示出来,当命令执行结束后,提示符又显示出来。
以上内容参考:网络-$