记Javascript的编写方式的全新学习
来源:互联网 发布:淘宝刷天龙八部vip帐号 编辑:程序博客网 时间:2024/05/16 03:08
前言
这次有幸参与前端的工作,对于前端开发学习了不少新知识,在此记录一下相比之前,完全不同的Javascript编写方式。
原来的编写方式
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgxi.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgxg.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgxd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgww.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwv.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwu.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwt.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwe.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwj.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwi.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwa.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgw6.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgw7.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtz.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgty.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtx.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtw.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtu.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtt.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgts.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtr.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtq.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtp.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgto.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtn.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtk.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsh.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsg.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsf.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgse.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgs3.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgs0.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgr4.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqa.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgpp.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgpo.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgxg.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgxd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgww.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwv.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwu.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwt.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwe.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwj.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwi.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgwa.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgw6.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgw7.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtz.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgty.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtx.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtw.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtu.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtt.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgts.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtr.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtq.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtp.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgto.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtn.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgtk.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsh.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsg.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsf.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgse.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsd.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgsb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgs3.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgs0.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgr4.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqc.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqb.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgqa.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgpp.html
http://blog.sina.com.cn/s/blog_175dc3f8a0102xgpo.html
之前也是写过Javascript,就是常见的.js 文件写函数:
function SayHello(){alert('Test.');}
然后再使用页面引入该.js文件 即可调用SayHello方法。
新学方式
现在使用prototype,使用对象调用:
(function (exports, W, D, $) { 'use strict'; function History(W, D) { this.W = W; this.D = D; this.ChatUI = W.ChatUI; this.$Overlay = $('#overlay'); this.$Alert = $('#alert-cnt'); this.$PaginationHis = $('.pagination-container'); this.$SearchForm = $('.filter-form'); this.GetSearchFormData = function () { var status = this.$SearchForm.find('[name="sel-status"] option:selected').val().trim(); var data = {}; var startDate = this.$SearchForm.find('input[name="StartDate"]').val(); var endDate = this.$SearchForm.find('input[name="EndDate"]').val(); data = { Status: status, StartDate: startDate, EndDate: endDate, }; return data; }; this.baseUrl = W.baseUrl; this.DisplayOverlayDialog = function () { this.$Overlay.removeClass('hidden'); this.$Overlay.show(); this.$Overlay.find('.overlay-container').show(); this.$Overlay.find('.overlay-loading').hide(); } this.HideOverlay = function () { this.$Overlay.hide(); } this.AlertError = function (errmsg) { this.$Alert.find('.alert-success').hide(); this.$Alert.find('.alert-danger').text(errmsg).show(); } this.AlertSucc = function (succmsg) { this.$Alert.find('.alert-danger').hide(); this.$Alert.find('.alert-success').text(succmsg).show(); } this.AlertNone = function () { this.$Alert.find('.alert-danger').hide(); this.$Alert.find('.alert-success').hide(); }}History.prototype.BindEvent = function () { var chatForm = this; $('#a.btn').click(function (event) { var $tgt = $(event.target); });};History.prototype.LoadDataAjax = function (ajaxUrl, postData, isRest) { var history = this; $.blockUI(); $.ajax(ajaxUrl, { dataType: 'html', data: postData, timeout: 12000, method: "POST", success: function (data) { $('input[name="total-cnt"]').remove(); var $caseTable = $('.histroy-case'); $caseTable.remove(); $('.hitory-msg').remove(); $(data).insertBefore(history.$PaginationHis); var totalCount = $('input[name="total-cnt"]').val(); history.InitPagination(totalCount, true, isRest); history.AlertSucc("Get case list succeed.") $.unblockUI(); }, error: function (error) { history.AlertError("Internal occurs error, please try again.") $.unblockUI(); }, complete: function () { $.unblockUI(); } });}History.prototype.InitPagination = function (totalCount, isReInit, isReset) { var historyPage = this; var paginationHis = historyPage.$PaginationHis; var total = $('input[name="total-cnt"]').val(); var pageSize = 5; pageSize = parseInt(pageSize); if (totalCount != null) { total = parseInt(totalCount); } if (total == 0) { paginationHis.addClass("hidden"); } else { paginationHis.removeClass("hidden"); } if (isReset) { paginationHis.bootpag({ page: 1 }); } paginationHis.bootpag({ total: Math.ceil(total / pageSize), maxVisible: 10 }).on('page', function (event, num) { var ajaxUrl = "/Home/AjaxLoadCase"; var postData = historyPage.GetSearchFormData(); postData.Pagination = { PageIndex: num, PageSize: pageSize, Status: postData.Status, StartTime: postData.StartDate, EndTime: postData.EndDate } if (!isReInit || isReInit == undefined) { historyPage.LoadDataAjax(ajaxUrl, postData, false); } });}History.prototype.FilterData = function () { var history = this; history.$SearchForm.on('submit', function () { var postData = history.GetSearchFormData(); var pageSize = 5; postData.Pagination = { PageIndex: 1, PageSize: pageSize, Status: postData.Status, StartTime: postData.StartDate, EndTime: postData.EndDate } var ajaxUrl = "/Home/AjaxLoadCase"; history.LoadDataAjax(ajaxUrl, postData, true); return false; });};History.prototype.InitDatePicker = function () { $('.datepicker').datepicker({ defaultDate: new Date() });}var history = new History(window, document);exports.module = exports.module || {};exports.module.history = history;history.BindEvent();history.InitPagination();history.InitDatePicker();})(window.ChatUI, window, document, window.$);
说明
回到顶部
1.严格模式:use strict
顾名思义,是的Javascript在严格条件下执行,这些严格条件包括:
-消除Javascript语法的不合理、不严谨之处;
-提高编译器效率,增加运行速度;
-消除代码运行的不安全之处;
严格模式下,很多函数操作会抛错或者禁止使用,比如this的使用,变量的作用域等,目前在学习中。
回到顶部
2.调用方式
声明了History的对象,就可以点出History下所有的函数或者变量成员。是的调用的时候,提示清晰明了。
回到顶部
3.闭包理解
这一块还是没搞太明白(沮丧)。
闭包,就是使内部函数可以访问定义在外部函数中的变量,但是外部板书不能访问内部定义的变量。
for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 5);}
这将打印出5 5 5 5 5, 而不是0 1 2 3 4,被坑。
Js的var的作用域,有作用域链,还有this关键字,构造器中的 this会指向新对象,而不是一开始中的this对象,打印这两次this,输出不一样。
阅读全文
0 0
- 记Javascript的编写方式的全新学习
- js-----javascript的编写方式
- 实现JavaScript编写类的方式
- 程序员的全新的兼职工作方式
- 金融危机时代全新的演说方式
- 全新的福昕JavaScript PDF阅读器
- 数据结构期末总结:用全新的方式创造别样的学习体验
- 如何学习一类全新的知识
- Servlet的编写方式
- LINQ方式 把DataTable的数据 生成全新的DataTable
- 卓越背后的秘密——全新的工作方式
- hbase-spark全新的spark读写hbase的方式
- JavaScript 学习二 类的定义方式
- javascript的编写、调试
- 简单的javascript 编写
- 用Javascript脚本写的一个全新的Select
- 【英语学】一种全新的英语口语思维方式
- 超极本™ 触摸屏 - 一种全新的动手方式
- tslib移植
- python 获取系统基础信息
- Java中sleep方法和wait方法的区别?
- java(android)和oc(ios)比较
- Maven顶级pom和子pom的版本号级联修改
- 记Javascript的编写方式的全新学习
- 预见十年--医院大变革
- 每日一练-20171106
- 时间序列分析
- attribute和property,attr()和prop()的区别
- 流计算及在特来电监控引擎中的实践
- 斐波那契数列的js实现
- RecyclerView单选框删除条目,全选删除,Recyclerview 实现多选,单选,全选,反选,批量删除的步骤 1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算
- 背包九讲--多重背包的原理及代码实现