js代码

[转发]软件工具|Github上整理的一些工具

本秂侑毒 提交于 2020-01-29 05:26:53
注:文章转自https://www.runoob.com/w3cnote/github-tools.html 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 OSChina:开源技术社区,开源方面做的不错哦 cnblogs,51cto,csdn:常见的技术社区,各有专长 stackoverflow:IT技术问答网站 GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如Linux内核, OpenStack等免费的it电子书: http://it-ebooks.info/ DevStore:开发者服务商店 不错的书籍 人件 人月神话 代码大全2 计算机程序设计艺术 程序员的自我修养 程序员修炼之道 高效能程序员的修炼(成为一名杰出的程序员其实跟写代码没有太大关系) 深入理解计算机系统 软件随想录 算法导论(麻省理工学院出版社) 离线数学及其应用 设计模式 编程之美 黑客与画家 编程珠玑 C++ Prime Effective C++ TCP/IP详解 Unix 编程艺术 《精神分析引论》弗洛伊德 搞定:无压力工作的艺术 平台工具(都是开源的好东东哦) Redmine/Trac:项目管理平台 Jenkins/Jira

JS中的基础数据结构

一曲冷凌霜 提交于 2020-01-29 04:23:45
在js中有三种常用的数据结构是我们必须了解的,他们分别是栈(stack)、堆(heap)、队列(queue),下面分别做介绍。 栈(stack) 基础定义: 1.栈是一种数据结构,它表达的是数据的一种存取方式. 2.栈可用来规定代码的执行顺序,函数调用在js中叫做函数调用栈(call stack). 3.栈表达的是一种数据在内存中的存储区域. 栈的存取方式遵循 先进后出后进先出 (LIFO) 的原则,学习它的最终目的是掌握函数调用栈的运行方式,下面可通过往容器里存取小球的图例理解栈的存取方式: 如上图中,往容器中一次放入小球,最先放进去的在最底下(栈底),最后放进去的在最上方(栈顶)。当我们取出的时候,很明显需要我们先取出顶部(栈顶)的小球,才能依次取出下方(栈底)的。这种存取方式就是栈数据结构的的存取特点:先进后出,后进先出原则。 其中在数组(Array)中有两个栈方法映射了这种存取方式,分别是: push: 向数组末尾添加元素(进栈方法) pop: 弹出数据最末尾的一个元素(出栈方法) 堆(heap) 堆数据结构通常是一种树状结构,他的存取方式类似于书架上取书,无需关心存放顺序。 该图可用字面量的形式体现出来: var Heap = { a : 10 , b : 20 , c : { m : 300 , n : 400 } } 当我们想访问a时,只需通过Heap.a来访问即可

js轮播图学习总结及案例

馋奶兔 提交于 2020-01-29 04:19:05
js轮播图有闪现的、过渡的,有横向的,竖向的,其中各有区别,但大体上差不多,需要自己去体会总结,我就直接上代码了 < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http - equiv = "X-UA-Compatible" content = "ie=edge" > < title > Document < / title > < script src = "../todo.js" > < / script > < style > * { margin : 0 ; padding : 0 ; } div { width : 500 px ; margin : 0 auto ; } #view { width : 500 px ; margin : 0 auto ; height : 300 px ; border : 5 px solid black ; overflow : hidden ; position : relative ; } #banner li { float : left ;

[摘]C/C++实现js的split函数功能

限于喜欢 提交于 2020-01-29 03:01:45
今天在网上找了一下,发觉有比较多的方法,现在列出来,需要的朋友可以参考一下。 功能最丰富的就是第一种方法了: 1 vector< string > Split( const string & s, const string & match, bool removeEmpty= false , bool fullMatch= false ) 2 // 参数s为需要肢解的字符串 3 // 参数match为肢解匹配字符串 4 // 参数removeEmpty为是否删除空字符 5 // 参数fullMatch为是否只保留全匹配的字符串 6 7 下面为代码区: 8 #include < string > 9 #include 10 11 namespace Daniweb 12 { 13 using namespace std; 14 15 typedef string ::size_type ( string ::*find_t)( const string & delim, 16 string ::size_type offset) const ; 17 18 /// 19 /// Splits the string s on the given delimiter(s) and 20 /// returns a list of tokens without the delimiter

javascript的基础

陌路散爱 提交于 2020-01-28 19:11:11
JavaScript简介 JavaScript是一种可以与HTML标记语言混合使用的脚本语言,其编写的程序可以直接在浏览器中解释执行。 对于一些初学者来说往往会将一些其与java编程语言混为一谈,实际上从本质上来说,这二者并没有什么本质的联系。 JavaScript的国际标准是ECMAScript. javaScript和java的联系 JavaScript Java 基于对象,不能说是面向对象,比如说,JavaScript不能支持继承 面向对象 解释 解释或者编译 弱变量类型,js的弱类型是变量的弱类型 强变量类型 JavaScript的注解 js的声明学习: 1、在head标签中使用script标签进行代码域的声明 <!--声明js代码域--> <script> alert('内容'); </script> 2、在head标签中使用script标签引入事先在外部声明好的js文件 特点:可以实现js代码的重复使用,避免代码的冗余 <script src="相对路径" type="text/javascript" charset="utf-8"></script> js中的变量 <!-- js的所有变量声明只有var关键字 js的变量名是严格区分大小写的 js中的字符串可以使用双引号也可使用单引号 js可以使用同名变量,后面会将前面的覆盖 --> var a =123; var

CommonJS和AMD/CMD

孤街浪徒 提交于 2020-01-28 14:10:33
先回答我:为什么模块很重要? 答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套! 于是下面三个模块规范出来了,这篇文章也出来了(拼出来的 {捂脸笑})。 JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。本文包括这三个规范的来源及对应的产物的原理。 一、CommonJS 1.一开始大家都认为JS是辣鸡,没什么用,官方定义的API只能构建基于浏览器的应用程序,逗我呢,这太狭隘了吧(用了个高端词,嘎嘎),CommonJS就按耐不住了,CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。这样的话,开发者可以使用CommonJS API编写应用程序,然后这些应用可以运行在不同的JavaScript解释器和不同的主机环境中。 在兼容CommonJS的系统中,你可以使用JavaScript开发以下程序: (1).服务器端JavaScript应用程序 (2)

js事件循环机制和优先级

孤街醉人 提交于 2020-01-28 12:34:41
浏览器的渲染进程是多线程,包括 GUI渲染线程 js引擎线程 事件触发线程 定时器触发线程 异步http请求线程 主执行栈和任务队列 所有的任务可以分为同步任务和异步任务,同步任务,顾名思义,就是立即执行的任务,同步任务一般会直接进入到主线程中执行;而异步任务,就是异步执行的任务,比如ajax网络请求,setTimeout 定时函数等都属于异步任务,异步任务会通过任务队列( Event Queue )的机制来进行协调 同步和异步任务分别进入不同的执行环境,同步的进入主线程,即主执行栈,异步的进入 Event Queue 。主线程内的任务执行完毕为空,会去 Event Queue 读取对应的任务,推入主线程执行。 上述过程的不断重复就是我们说的 Event Loop (事件循环)。 宏任务与微任务 从任务层面,在JS引擎中,我们可以按性质把任务分为两类,macrotask(宏任务)和 microtask(微任务)。它们的执行顺序如下: 在事件循环中,每进行一次循环操作称为tick,通过阅读规范可知,每一次 tick 的任务处理模型是比较复杂的,关键步骤总结如下: 在此次 tick 中选择最先进入队列的任务( oldest task ),如果有则执行(一次) 检查是否存在 Microtasks ,如果存在则不停地执行,直至清空Microtask Queue 更新 render

React-native 跨平台原理

你说的曾经没有我的故事 提交于 2020-01-28 12:25:52
1、为什么React native 可以跨平台 其实通过react native的架构图就明白了,下面我们就根据架构图来理解一下为什么react native可以实现跨平台: (1)、React:不同平台上编写基于React的代码,“Learn once, write anywhere”。 (2)、Virtual DOM:相对Browser环境下的DOM而言,Virtual DOM是DOM在内存中的一种轻量级表达方式(原话是lightweight representation of the document),可以通过不同的渲染引擎生成不同平台下的UI,JS和Native之间通过Bridge通信。 (3)、Web/iOS/Android:上层与用户交互的UI界面。 React-Native在JavaScript中抽象操作系统原生的UI组件,代替DOM元素来渲染,使用的是Android或iOS的本地控件,所以在UI渲染上已经非常接近Native App了。尽管业务逻辑代码使用JavaScript,但由于JavaScript是即时编译的,也就是第一次使用时会将JavaScript代码编译成二进制文件,所以JavaScript得运行效率比较高。因此,React Native的运行效率要比基于HTML5、CSS等技术的PhoneGap、AppCan高很多

JS是什么?

為{幸葍}努か 提交于 2020-01-28 09:03:28
JavaScript:简称js 是一门脚本语言:不需要编译直接执行 是一门解释性语言:在运行代码时,将程序直接翻译成机器语言 是一门动态语言:? 是一门基于对象的语言:? js分3个部分: 1.ECMAScript标准 ====js基本语法 2.DOM ====document object Model 文本对象模型 3.BIM ====Browser Object Model 浏览器对象模型 js:用户和浏览器进行交互 js三种写法: 1.行内 2.内部 3.外部:新建外部js文件,通过script js注意问题: 如果js中有抱错,不会执行当前script后面的代码 可以写多对script标签 script中设置属性type=“text/javascript” 标准写法,默认值 看见一个属性 language,设置script的类型,也支持 来源: CSDN 作者: lemon_T_ 链接: https://blog.csdn.net/lemon_T_/article/details/103556669

JS学习第二课

筅森魡賤 提交于 2020-01-28 08:34:34
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 window.onload=function(){ 8 var oBtn=document.getElementById('btn1') 9 var oUl=document.getElementById('ul1') 10 var oTxt=document.getElementById('text1') 11 oBtn.onclick=function(){ 12 var oLi=document.createElement('li') 13 var aLi=oUl.getElementsByTagName('li') 14 oLi.innerHTML=oTxt.value 15 if(aLi.length>0){ 16 oUl.insertBefore(oLi,aLi[0]) 17 } 18 else{ 19 oUl.appendChild(oLi) 20 } 21 } 22 } 23 </script> 24 </head> 25 <body> 26 <input type="text" id="text1" /> 27 <input type=