写在前面的 在开发调试过程中,我们经常需要调用console.log 方法来打印出当前变量的值,然而,console.log在浏览器环境下 有时会出现一些异常的现象 开撸代码 在浏览器和nodejs环境下分别运行下面代码 var s = {}; console.log(s); s.title = 'ee'; 在谷歌浏览器结果如下: 在nodejs环境,结果如下: 在火狐浏览器,结果如下: 分析 怎么会这样呢?在google和Safari的webkit中,console.log并没有立即拍摄对象快…
结构: socket是应用层和传输层的桥梁.(传输层之上的协议所涉及的数据都是在本机处理的,并没进入网络中) 涉及数据: socket所涉及的数据是报文,是明文. 作用: 建立长久链接,供网络上的两个进程通信. nodejs环境下的简单通信. 代码: serve: // 1 引入模块 const net = require('net'); // 2 创建服务器 let clientArr = []; const server = net.createServer(); // 3 绑定链接事件 s…
结论:浏览器中是一个宏任务,所有微任务,一个宏任务,所有微任务...           NodeJS中,一种宏任务队列所有任务,所有微任务,一种宏任务队列所有任务,所有微任务... ┌───────────────────────┐ ┌─>│ timers │<————— 执行 setTimeout().setInterval() 的回调 │ └──────────┬────────────┘ | |<-- 执行所有 Next Tick Queue 以及 MicroTask Queue…
首先需要在本地运行node环境   必须在本地安装mysql(可以用xampp里面的) 在node环境下引入mysql模块   命令: npm install node-mysql 运用例子(前提条件,必须要将mysql账号密码设置成对应的账号密码,以及数据库名称database必须要在数据库中找到)    额,抱歉  我还是个新手~~~ var mysql = require('mysql'); var conn = mysql.createConnection({ host:'localho…
习惯了在ff或者chrome下暴力调试的你会不会忘记注释掉而在ie下报错呢,那么可以加这个代码: if (typeof console == "undefined") { this.console = { log: function (msg) { alert(msg); } }; } 很简单的小技巧,要是不支持该对象的时候就自己创建一个console对象,加上log方法也要有,不过里面是个alert而已. 不过仅仅限于暴力调试,正式发布的项目下避免这些调试信息! 小技巧,很实用!…
npm run build 后的生产环境的代码,会有很多开发时留下的console.log(),不可能每个页面不停地删除 在build/webpack.prod.conf.js文件里加上这样一段代码即可 new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, drop_debugger: true, //++ drop_console: true//++}, sourceMap: config.build.produc…
在开发环境中我们喜欢用console.log测试代码,但是部署到生产环境我们不可能一个一个把console.log给手动删除了. 在build/webpack.prod.conf.js文件里加上这样一段代码即可 new UglifyJsPlugin({ uglifyOptions: { mangle: { safari10: true }, compress: { warnings: false, drop_debugger: true,//console drop_console: true,…
生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法,只是alert以弹出框形式呈现,而console.log在控制台输出而已. 知道昨天输出一段代码,结果发现alert和console.log输出结果不一样~~~~~本宝宝可算涨见识了~~~ 然后就是各种查阅资料,百度查看,终于发现点眉目啦~~~~~ 我写了这样一段代码 : alert输出的结果为:…
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可以用来验证与远程计算机的连接. ping的参数 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list] [-…
[1]alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. alert([1,2,3]);//'1,2,3' [1.3]alert不支持多个参数的写法,只能输出第一个值 e.g. alert(1,2,3);//1 [2]console.log() [2.1]在打印台输出 [2.2]可以打印任何类型的数据 e.g. console.log([1,2,3]);//[…
我们在做js调试的时候使用 alert 可以显示信息,调试程序,alert 弹出窗口会中断程序, 如果要在循环中显示信息,手点击关闭窗口都累死.而且 alert 显示对象永远显示为[object ]. 自己写的 log 虽然可以显示一些 object 信息,但很多功能支持都没有 console 好 [1]alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. al…
console.log()可以取代alert()或document.write(),在网页脚本中使用console.log(data)时,会在控制台打印出数据. console.dir()可以显示一个对象所有的属性和方法.…
出走半月,一直以为 console.log 和 alert 的用法是一样的,只是表现的形式不同,alert 是以弹框的形式出现,console.log 是在后台打印输出. 但是今天在写东西的时候,发现两者输出的结果不一样,我差点惊叫出声@_@. 对于我这样的小菜鸟来说很奇怪 是这样一段代码: console.log 的输出结果为: alert 的输出结果为: 然后我以为那个 “T” 是此问题的关键,存在着什么规律QAQ.然后问度娘,并没有什么答案. 后经咨询 得知:console.log 可以打…
1.alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. alert([1,2,3]);//'1,2,3' [1.3]alert不支持多个参数的写法,只能输出第一个值 e.g. alert(1,2,3);//1 2.console.log() [2.1]在打印台输出 [2.2]可以打印任何类型的数据 e.g. console.log([1,2,3]);//[1,…
bower在初始化,默认是将bower_components文件夹放到项目的根目录下,若是public/index.html如何配置bower_components下的js或者css类库呢?只需要将bower_components配置为项目的静态目录, APP.js文件内容增加内容: app.use(express.static(__dirname+'/bower_components')); 根据项目的需要有时候,我们不想把bower_components文件夹放到项目的根目录下,假设我们想把…
假设被占用的端口号是8081 1.进入cmd命令窗口 输入netstat -ano|findstr "8081" cmd窗口给我的信息尾部有一个和端口8081对应的PID值 '5100' 2.关闭这个pid值输入taskkill -PID 5100 -F 成功之后,就可以继续使用这个端口了…
原文链接:https://blog.csdn.net/ky1in93/article/details/80828499 console对象详解:https://segmentfault.com/a/1190000004528137…
以前用JavaScript主要是处理常规的数字.字符串.数组对象等数据,基本没有试过用JavaScript处理二进制数据块,最近的项目中涉及到这方面的东西,就花一段时间学了下这方面的API,在此总结一下. 首先浏览器是没有主动读取本地文件的权限的,所以对JavaScript处理二进制数据能力的学习,应该从运行在服务器端的nodejs看起. Nodejs 中的 Buffer 为了方便处理二进制数据,nodejs特地封装了一个Buffer模块.文档地址:http://nodejs.cn/doc/no…
针对这次 整个项目单页面的情况下,所有点击出现的新页面都是追加在母页面的情况下,很多时候不像原本的情况,可以直接在浏览器的调试环境下找到想要调试的js代码 这种情况下,怎么能找到子页面的js代码,调试呢? 方法有两种 方法1:找到想要调试的元素,然后找本元素上绑定的先关Event 方法2:在js代码中添加debugger;设置断点…
Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包…
onsole.log().console.info().console.debug()的作用都是在浏览器控制台打印信息的. 使用最多的是console.log().console.info()和console.debug()本质上与console.log()没有区别.是console.log()的另一个名字而以,可以理解为它们三个其实就是同一个,只不过名字不一样. 其中,console.info()打印出的信息,在控制显示的时候信息前面会出现一个小图标,而且谷歌浏览器和opera不支持conso…
前面两篇文章都讲述了Linux环境下的多线程编程基础知识,也附带了典型实例.本文主要比较一下Linux环境与Windows环境下的多线程编程区别. 看待技术问题要瞄准其本质,不管是WIN32.Linux还是VxWorks,其涉及到多线程的部分都是那些内容,无非就是线程控制和线程通信,它们的许多函数只是名称不同,其实质含义是等价的,下面我们来列个三大操作系统共同点详细表单: 事项 WIN32 Linux VxWorks 线程创建 CreateThread pthread_create taskSp…
Node.js  event loop 和 JS 浏览器环境下的事件循环的区别: 1.线程与进程: JS 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程? 进程是 CPU 资源分配的最小单位:线程是 CPU 调度的最小单位. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线. 一个进程的内存空间是共享的,每个线程都可用这些共享内存. 2.多进程和多线程 多进程:在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态.多进程带来的好…
一.下载 去nodejs下载node.msi安装文件包,里面包含了node.js和npm: 双击node.msi就行了,选择安装路径和npm: 二.设置环境变量 [新版本都不需要设计环境变量了,软件会自动写入环境变量] 计算机(或者我的电脑)右击属性->高级系统设置->环境变量. 新建一个用户变量. 变量名:NODE_PATH 值:C:\Program Files\nodejs\node_modules 注意:值为nodejs安装目录 三.测试 1.写测试代码test.js 随便找个项目文件夹…
第一步:先安装sublime text3.详细教程可自行百度,这边不具体介绍了. 第二步.安装nodejs插件,有两种方式 第一种方式:直接下载https://github.com/tanepiper/SublimeText-Nodejs 压缩包,压缩后重命名为Nodejs放到package目录下.package打开方式:Preferences-> Browser Package 第二种方式:通过package control install package的方式下载 第三步:安装nodejs.…
    今年打算学习Web这块,所以就买了本Node.js+MongoDb+AngularJS这本书,这周天也比较忙,想着录视频(拍小片,不是AV,不要误会,是在线课程)的事情,这周又将Asp.Net Mvc4 web 编程算是看了一遍,还有工作iOS这块基本就差接口了,所以也没多少空闲时间,今天下午的时候用公司的Mac配置了下Node.js环境,由于Mac系统默认就有node和Express,所以运行个helloworld也比较简单,今晚回来在window下也动手试了下,完美安装,测试通过!…
在<浏览器环境下JavaScript脚本加载与执行探析之defer与async特性>中,我们研究了延迟脚本(defer)和异步脚本(async)的执行时机.浏览器支持情况.浏览器bug以及其他的细节问题.而除了defer和async特性,动态脚本和Ajax脚本注入也是两种常用的创建无阻塞脚本的方法.总的来看,这两种方法都能达到脚本加载不影响页面解析和渲染的作用,但是在不同的浏览器中,这两种技术所创建的脚本的执行时机还是有一定差异,今天我们再来探讨一下通过动态脚本技术和Ajax注入的脚本在这些方…
 一.NodeJS的安装配置 #进入安装目录cd /usr/local/ #删除原有安装rm -rf noderm -rf node-v0.10.29-linux-x64 #解压压缩包tar -zxv -f node-v0.10.29-linux-x64.tar.gz #修改目录mv node-v0.10.29-linux-x64 node #添加环境变量并使之生效(终端关闭后会失效),内容如下export PATH=$PATH:/usr/local/bin/nodejs/bin 建议修改.ba…
Linux环境下NodeJS的安装配置(HelloWorld) 最简单的环境安装,测试helloworld.给初学者!! 安装脚本,请仔细阅读逐行执行: #!/bin/bash #检查是否已经安装 rpm -qa | grep python #查版本 python #最好是重新安装 Python推荐版本( >= v2.5.0 & < 3.0.0 ),否则影响nodejs运行 #进入安装目录 cd /usr/local/ #删除原有安装 rm -rf node rm -rf node-v…
Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装.安装过程基本直接“NEXT”就可以了.(Windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,建议安装在“D:\Program Files\nodejs”[C盘有权限问题需要解决]) 废话不多说,安装完成之后,我们先检测下NodeJS是…