Secrets of JavaScript ninja

5星(超过95%的资源)
所需积分/C币:10 2014-03-19 22:44:17 15.07MB PDF
10
收藏 收藏
举报

学习JavaScript进阶工具。从小白到高玩,成就JS高手。
For online information and ordering of this and other manning books, please visit www.manning.com.thepublisheroffersdiscountsonthisbookwhenorderedinquantity For more information, please contact Special sales department Manning publications co 20 Baldwin road PO Box 261 Shelter island.nY11964 Emailorders@manning.com @2013 by Manning publications Co. All rights reserved No part of this publication may be reproduced, stored in a retrieval system, or transmitted,ir any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps @o Recognizing the importance of preserving what has been written, it is Mannings policy to have the books we publish printed on acid-free paper and we exert our best efforts to that end Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine Manning Publications Co. Development editors: Jeff Bleiel, Sebastian Stirling 20 Baldwin road Technical editor: Valentin Crettaz PO Box 261 Copyeditor: Andy Carroll Shelter island. ny 11964 Proofreader: Melody dolab Typesetter: Dennis Dalinnik Cover designer: Leslie haimes ISBN:978-1933988696 Printed in the United states of america 12345678910-MAL-18171615141312 brief contents PART 1 PREPARING FOR TRAINING 1■ Enter the ninja3 Arming with testing and debugging 18 PART 2 APPRENTICE TRAINING 29 3 Functions are fundamental 31 4 Wielding functions 61 Closing in on closures 89 6 Object-orientation with prototypes 119 7 Wrangling regular expressions 151 8 Taming threads and timers 175 PART 3 NINJA TRAINING n191 9 Ninja alchemy: runtime code evaluation 193 10 With statements 215 11 Developing cross-browser strategies 229 12 Cutting through attributes, properties, and css 258 BRIEF CONTENTS PART 4 MASTER TRAINING ..............................................0...6..287 13 Surviving events 289 14 Manipulating the dom 829 15 CSS selector engines 345 contents preface xa acknowledgments xiii about this book xU about the authors xx PART I PREPARING FOR TRAINING Enter the ninja 3 1.1 The JavaScript libraries we'll be tapping 4 1.2 Understanding the JavaScript language 1.3 Cross-browser considerations 6 1.4 Current best practices 9 Current best practice: testing 9. Current best practice performance analysis 10 1.5 Summary 1l 2 Arming with testing and debugging 13 2.1 Debugging code 14 Logging 14 Breakpoints 16 CONTENTS Test generation 17 2.8 Testing frameworks 19 QUnit 21 YUl Test 22 .sUnit 22 Newer unit-testing frameworks 22 2.4 The fundamentals of a test suite 22 The assertion 23. Test groups 24 Asynchronous testing 25 2.5 Summary 27 PART 2 APPRENTICE TRAINING 29 3 Functions are fundamental 31 3.1 What's with the functional difference? 32 Why is Javascript's functional nature important? 33 Sorting with a comparator 37 3.2 Declarations 40 Scoping and functions 43 3.3 Invocations 46 From arguments to function parameters 47. Invocation as a function 49. Invocation as a method 50. Invocation as a constructor 52 Invocation with the apply( and callo methods 54 3.4 Summary 58 4 Wielding functions 61 4.1 Anonymous functions 62 4.2 Recursion 64 Recursion in named functions 64 Recursion with methods 6. The pilfered reference problem 66. Inline named functions 68 The callee property 70 4.3 Fun with function as objects 71 Storing functions 72 Self-memoizing functions 73 Faking array methods 76 4.4 Variable-length argument lists 77 Using apply o to supply variable arguments 77 Function overloading 79 4.5 Checking for functions 86 4.6 Summary 88 CoNTENTS Closing in on closures 89 5.1 How closures work 90 5.2 Putting closures to work 94 Private variables 94 Callbacks and timers 96 5.3 Binding function contexts 99 5. Partially applying functions 103 5.5 Overriding function behavior 106 Memoization 106. Function wrapping 109 5.6 Immediate functions 1ll Temporary scope and private variables 112 Loops 115 Library wrapping 117 5.7 Summary 118 Object-orientation with prototypes 119 6.1 Instantiation and prototypes 120 Object instantiation 120. Object typing via constructors 127 Inheritance and the prototype chain 128 HTML DOM prototypes 133 6.2 The gotchas! 185 Extending Object 135. Extending Number 136 Subclassing native objects 137. Instantiation issues 139 6. 3 Writing class-like code 143 Checking for function serializability 146. Initialization of subclasses 147. Preserving super-methods 148 6.4 Summary 150 ranging regular expressions 151 7.1 Why regular expressions rock 152 7. 2 A regular expression refresher 158 egular expressions explained 153. Terms and operators 154 7.9 Compiling regular expressions 158 7.4 Capturing matching segments 161 Performing simple captures 161. Matching using global expressions 162. Referencing captures 163 Non-capturing groups 165 7.5 Replacing using functions 166 CONTENTS 7.6 Solving common problems with regular expressions 168 Trimming a string 168. Matching newlines 170 Unicode 171 Escaped characters 172 7.7 Summary 172 8 Taming threads and timers 175 8. 1 How timers and threading work 176 Setting and clearing timers 176 Timer execution within the execution thread 177. Differences between timeouts and intervals 179 8.2 Minimum timer delay and reliability 180 8.8 Dealing with computationally expensive processing 188 8. 4 Central timer control 186 8.5 Asynchronous testing 189 8.6 Summary 190 PART 3 NINIA TRAINING 191 Ninja alchemy: runtime code evaluation 193 9.1 Code evaluation mechanisms 194 Evaluation with the eval method 194 Evaluation via the Function constructor 197- Evaluation with timers 197 Evaluation in the global scope 198 Safe code evaluation 1 9.2 Function“ decompilation”201 9.3 Code evaluation in action 204 Converting son 204 Importing namespaced code 205 Javascript compression and obfuscation 206 Dynamic code rewriting 208 Aspect-oriented script tags 209 Metalanguages and dSLs 210 9. Summary 213 10mb数emm1215 Referencing properties within a with scope 216. Assignments within a with scope 218 Performance considerations 219 10.2 Real-world examples 221 10.3 Importing namespaced code 223 CoNTENTS 10. Testing 228 10.5 Templating with“with”224 10.6 Summary 227 1 Developing cross-browser strategies 229 1.1 Choosing which browsers to support 280 1. 2 The five major development concerns 231 Browser bugs and differences 232 Browser bug fixes 233 Living with external code and markup 234 Missing features 239 n Regressions 240 11.3 Implementation strategies 242 Safe cross-browser fixes 242 . Object detection 243 Feature simulation 245 Untestable browser issues 247 11. Reducing assumptions 249 1.5 Summary 251 12 Cutting through attributes, properties, and CSS 253 12.1 DOM attributes and properties 255 Cross-browser naming 256. Naming restrictions 257 Differences between XMl and HTML 257 Behavior of custom attributes 258 Performance considerations 258 2.2 Cross-browser attribute issues 262 DOM id/name expansion 262. URL normalization 264 The style attribute 265. The type attribute 265 The tab index problem 266. Node names 267 12.8 Styling attribute headaches 267 Where are my styles? 268 Style property naming 270 The float style property 271. Conversion of pixel values 271 Measuring heights and widths 272 Seeing throug/ opacity 276. Riding the color wheel 279 12.4 Fetching computed styles 282 12.5 Summary 285 PART 4 MASTER TRAINING................287 13 surviving events 289 13.1 Binding and unbinding event handlers 290 18.2 The Event object 294

...展开详情
试读 127P Secrets of JavaScript ninja
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
行动起来 支持正版,好书好好学习。
2014-05-27
回复
hichenlm 从这本书中可以学到很多的东西!
2014-05-15
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
Secrets of JavaScript ninja 10积分/C币 立即下载
1/127
Secrets of JavaScript ninja第1页
Secrets of JavaScript ninja第2页
Secrets of JavaScript ninja第3页
Secrets of JavaScript ninja第4页
Secrets of JavaScript ninja第5页
Secrets of JavaScript ninja第6页
Secrets of JavaScript ninja第7页
Secrets of JavaScript ninja第8页
Secrets of JavaScript ninja第9页
Secrets of JavaScript ninja第10页
Secrets of JavaScript ninja第11页
Secrets of JavaScript ninja第12页
Secrets of JavaScript ninja第13页
Secrets of JavaScript ninja第14页
Secrets of JavaScript ninja第15页
Secrets of JavaScript ninja第16页
Secrets of JavaScript ninja第17页
Secrets of JavaScript ninja第18页
Secrets of JavaScript ninja第19页
Secrets of JavaScript ninja第20页

试读结束, 可继续阅读

10积分/C币 立即下载