博客 (21)

个人整理,仅供参考。具体规格请以官方发布为准。


X1.pngx1p.pngx3p.png
名称X1X1 ProX3 Pro 日照金山(1母1子套装)
上市时间2025/42025/42025/11
RAM512 MB512 MB
ROM128 MB128 MB
频段2.4 GHz 速率为 688 Mbps

5 GHz 速率为 2882 Mbps

2.4 GHz 速率为 688 Mbps

5 GHz 速率为 2882 Mbps

2.4 GHz

5 GHz

天线

5 根全向高增益天线

5 根定向智能天线

1 根星闪天线

5 根全向高增益天线

5 根定向智能天线

1根 星闪天线


星闪网关支持支持
蓝牙网关支持支持
接口

2.5GE * 2

1GE * 2

2.5GE * 4
Wi-FiWi-Fi 7+Wi-Fi 7+Wi-Fi 7+
适用面积90-120㎡90-120㎡主路由覆盖90㎡内,每增加一个子路由可扩展约30㎡
价格



xoyozo 2 天前
48

个人整理,仅供参考。具体规格请以官方发布为准。


名称万兆路由器BE10000BE7000BE6500 ProBE6500全屋 BE3600 Pro 套装全屋 BE3600 Pro 网线版BE10000 Pro
型号



主:RN04

子:RN01

主:RP01

子:RP03


上市时间2022.102023.52023.102024.82024.102025.52025.9
处理器Qualcomm 四核 A73 2.2GHzQualcomm 四核 A73 1.5GHzQualcomm 四核 A53 1.5GHzQualcomm 四核 A53 1.1GHz

主/子:

高通 IPQ5312 四核 1.1GHz

主/子:

Qualcomm Dragonwing N7

Qualcomm A7 四核 1.8GHz
内存2GB1GB1GB512MB

主/子:512MB

一说子是 128MB

主:512MB

子:256MB

2GB
频段2.4GHz、5.2GHz、5.8GHz2.4GHz、5GHz2.4GHz、5GHz2.4GHz、5GHz2.4GHz、5GHz2.4GHz、5GHz2.4GHz、5.2GHz、5.8GHz
组网混合 Mesh混合 Mesh混合 Mesh混合 Mesh混合 MeshAC + APAI Mesh
天线12根高增益天线 + 12路信号放大器 + NFC内置天线7根外置高增益WiFi天线 + 1根内置高增益WiFi天线 + NFC内置天线6根高增益WiFi内置天线 + 1根蓝牙内置天线 + 1根NFC内置天线6根外置高增益Wi-Fi天线主/子:4根内置天线

主:无

子:2根内置双频天线

12根高增益天线 + 12路信号放大器
中枢网关不支持不支持支持不支持

主:支持

子:不支持

主:支持

子:不支持

支持
蓝牙网关不支持不支持

蓝牙 Mesh 1.0 100 台 + 蓝牙 100 台

升级固件后支持蓝牙 Mesh 2.0

蓝牙 Mesh 1.0

蓝牙 Mesh 1.0 200 台 + 蓝牙 100 台

主:不支持

子:蓝牙 Mesh 2.0

蓝牙 Mesh 2.0 200 台 + 蓝牙 100 台

散热主动散热自然散热自然散热自然散热自然散热

主:自然散热

子:主动散热

主动散热
接口

4×2.5G

1×10G

1×10G SFP+

1×USB 3.0

4×2.5G

1×USB 3.0

4×2.5G4×2.5G

主/子:

1×2.5G

3×1G

主:5×2.5G

子:2×2.5G

4×2.5G

2×10G

1×M.2

1×USB 3.0

Wi-FiWi-Fi 7Wi-Fi 7Wi-Fi 7Wi-Fi 7Wi-Fi 7

主:无

子:Wi-Fi 7

Wi-Fi 7
价格
最新价格最新价格最新价格最新价格最新价格最新价格最新价格
  • 表格于 2025 年 10 月整理更新。

  • 如果只考虑支持蓝牙 Mesh 2.0,那么有 BE3600 Pro 网线版 和 BE10000 Pro 可选,搭配其它 Mesh 路由器实现全屋 Wi-Fi 7 覆盖,搭配其它中枢网关或从网关设备实现全屋蓝牙 Mesh 2.0 覆盖。

  • 如果考虑用 Xiaomi 中枢网关 来部署独立的中枢架构,那么选择路由器就没有限制了。

  • 名称中带有“全屋”字样的通常以子母套装形式出售,子母路由配置通常不同。购买两台一模一样的普通 BE 路由器,就相当于组建了一套“不分子母”的 Mesh 套装。

  • 名称中带有“Pro”字样的通常具备中枢网关功能。

xoyozo 半个月前
744

IIS 中使用 HttpPlatformHandler 模块部署 python web 项目时遇到 502.3 网关错误

HTTP 错误 502.3 - Bad Gateway

There was a connection error while trying to route the request.

最可能的原因:

  • CGI 应用程序没有返回一组有效的 HTTP 错误。

  • 由于父网关中出现错误,充当代理或网关的服务器无法处理该请求。

可尝试的操作:

  • 使用 DebugDiag 排查 CGI 应用程序。

  • 确定此错误是否由代理或网关引起。

详细错误信息:

模块    httpPlatformHandler

通知    ExecuteRequestHandler

处理程序    httpplatformhandler

错误代码    见下方表格

详细信息:

当 CGI 应用程序未返回一组有效的 HTTP 头,或者代理或网关无法将请求发送至父网关时,便会出现此错误。您可能需要获取一个网络跟踪,或者与代理服务器管理员联系(如果不是 CGI 的问题)。

错误代码可能的错误原因
0x8007053d未安装相关组件库,建议执行命令:pip install -r requirements.txt
0x80070005

若显示配置错误“由于权限不足而无法读取配置文件”则是应用代码目录未配置相应用户的读取权限;

访问受限,请正确配置 IIS 中的网站凭据、应用程序池标识、项目目录“读取”、解释器目录“读取和执行”权限等

0x80072ee2执行超时,一般发生在批量读写的时候
0x8007042b
任何错误

查看日志文件。

可能的错误原因:

  • 编码问题:强制使用 utf-8


xoyozo 5 个月前
793

要将一个服务公开给外部访问,必须开放端口,例举一些场景的端口映射:

  • VMware 实现宿主机端口映射到虚拟机端口:

    打开 VMware 的菜单中的 编辑 - 虚拟网络编辑器,

    在弹出窗口中表格中的选中“NAT”项,点击下方的“NAT设置”(若无法操作需要先点击“更改设置”允许)

    在“NAT设置”中“添加”,填写主机端口和虚拟机端口、虚拟机IP地址。

    这样,宿主机就能访问到虚拟机中的服务了。

  • 在 Windows 11 的防火墙中允许端口:

    在“设置”或“控制面板”中打开防火墙,“高级设置”

    在“入站规则”中“新建规则”

    选择“端口”并填写,完成。

    这样,局域网的其它电脑就能访问到这台 Windows 的服务了。

  • 小米路由器:

    登录路由器,进入“高级设置”,

    切换到“端口转发”,添加规则,

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

  • 华为路由器 AX3 Pro:

    登录路由器,进入“更多功能”,

    展开“安全设置”,选择“NAT服务”,

    点击“+”号设置端口映射。

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

  • H3C ER3200G2 路由器:

    登录路由器,展开“高级设置”,“地址转换”,

    切换到“虚拟服务器”,“新增”,

    填端口和内部服务器IP,完成。

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

xoyozo 1 年前
982

如果您想在 MySQL 数据库的所有表的所有字段中搜索文本字符串,您可以使用 phpMyAdmin 非常轻松地完成此操作。以下是搜索每个 MySQL / MariaDB 数据库表的步骤。


1) 选择所需的数据库

第一步是选择要搜索的数据库。不要选择表格,只需选择要搜索的数据库。(如果您选择一个表格,您将在第 2 步中获得不同的搜索表单。)

在这张图片中,我展示了我想搜索一个名为 db_bbs2021 的数据库:

image.png


2) 转到搜索表单

如图所示,然后您要单击 phpMyAdmin“搜索”选项卡。当你这样做时,你会看到一个看起来像这样的表单:

image.png

现在您所要做的就是填写您的搜索条件。


3) 填写您的搜索条件

在我的例子中,我想搜索字符串“xoyozo”,我想查看每个 MySQL 数据库表,所以我将该字符串放在“要搜索的内容”字段中,然后选择每个数据库表:

image.png


4) 按“执行”并浏览结果

完成这些操作后,只需按“执行”按钮,稍等片刻,然后浏览结果即可。此图显示了结果的样子:

image.png

结果中显示“浏览”和“删除”链接的任何行都表示在该数据库表中找到了搜索字符串。当您单击浏览时,phpMyAdmin 将向您显示相关结果。


概括

总而言之,如果您需要在整个 MySQL 数据库及其所有表中搜索字符串,这种方法对我来说效果很好。


缺点

若数据库尺寸过大或服务器配置较低,在执行过程中可能会出现

image.png

可以尝试使用 Navicat 在 MySQL 数据库中每个表的所有字段中搜索字符串

A
转自 Alvin Alexander 4 年前
3,234
  1. 打开浙江省通信管理局网站

  2. 点击“办事服务”

  3. 滚动到底部,在“下载专栏”中找到“浙江省网站备案注销申请表”

  4. 下载浙江省网站备案注销申请表,按填表说明填写表格、准备资料,邮寄到指定地址。

  5. 管局将在收到资料到 7 个工作日内进行处理。

省通管局备案咨询电话:0571-87078277

本文更新于:2021年6月

xoyozo 4 年前
4,318
平台产品收益到账时间转出限额手续费备注

支付宝
余额实时5w/笔、15w/日0.1%
2万元基础免费额度(钻石会员专享100万),使用蚂蚁积分兑换更多免费额度
次日5w/笔,次数不限
余额宝货基快速

1w/日(视卡)

(转到余额不限额,转到网商银行不限额?)



普通不限
余利宝货基实时

10w/日

转给他人:50w/笔、100w/日、500w/年

暂无 
普通不限
网商银行活期实时单笔最高100w


微信
零钱2小时5w/笔,次数不限0.1%
零钱通货基2小时1w/日从零钱转入的部分只能转出到零钱
T+1100w/笔,不限次数
余额+货基5分钟

铂金:29w/日,1000w/年

黄金:29w/日,500w/年

白银/普通:1w/日/每支货基


T+1不限
基金平台支付宝、微信、天天基金等基金T+N不限视产品

表格更新于:2021.4.28

xoyozo 5 年前
4,157

核心文件路径:/theme/html/demo*/src/js/components/core.datatable.js

所有参数的默认值见该文件 3369 行起。

data:

属性 功能
type 数据源类型 local / remote
source 数据源 链接或对象(见下方)
pageSize 每页项数 默认 10
saveState 刷新、重新打开、返回时仍保持状态 默认 true
serverPaging 是否在服务端实现分页 默认 false
serverFiltering 是否在服务端实现筛选 默认 false
serverSorting 是否在服务端实现排序 默认 false
autoColumns 为远程数据源启用自动列功能 默认 false
attr

data.source:

属性 功能
url 数据源地址
params 请求参数
query: {
}
headers 自定义请求的头
{
    'x-my-custom-header': 'some value',
    'x-test-header': 'the value'
}
map 数据地图,作用是对返回的数据进行整理和定位
function (raw) {
    console.log(raw)
    // sample data mapping
    var dataSet = raw;
    if (typeof raw.data !== 'undefined') {
        dataSet = raw.data;
    }
    return dataSet;
}

layout:

属性 功能
theme 主题 默认 default
class 包裹的 CSS 样式
scroll 在需要时显示横向或纵向滚动条 默认 false
height 表格高度 默认 null
minHeight 表格最小高度 默认 null
footer 是否显示表格底部 默认 false
header 是否显示表头 默认 true
customScrollbar 自定义的滚动条 默认 true
spinner Loading 样式
{
	overlayColor: '#000000',
	opacity: 0,
	type: 'loader',
	state: 'primary',
	message: true,
}
icons 表格中的 icon
{
	sort: {
	    asc: 'flaticon2-arrow-up', 
	    desc: 'flaticon2-arrow-down'
	},
	pagination: {
		next: 'flaticon2-next',
		prev: 'flaticon2-back',
		first: 'flaticon2-fast-back',
		last: 'flaticon2-fast-next',
		more: 'flaticon-more-1',
	},
	rowDetail: {
	    expand: 'fa fa-caret-down', 
	    collapse: 'fa fa-caret-right'
	},
}
sortable 是否支持按列排序 默认 true
resizable
是否支持鼠标拖动改变列宽 默认 false
filterable 在列中过滤 默认 false
pagination
显示分页信息 默认 true
editable
行内编辑 默认 false
columns
见本文下方
search
搜索
{
	// 按回车键确认
	onEnter: false,
	// 文本内容
	input: null,
	// 搜索延时
	delay: 400,
	// 键名
	key: null
}

layout.columns:

属性 功能 解释
field 字段名 对应 JSON 的属性名,点击表头时作为排序字段名
title 表头名 显示在表格头部
sortable 默认排序方式 可选:'asc' / 'desc'
width 单元格最小宽度 值与 CSS 值一致,填数字时默认单位 px
type 数据类型 'number' / 'date' 等,与本地排序有关
format 数据格式化 例格式化日期:'YYYY-MM-DD'
selector 是否显示选择框 布尔值或对象,如:{ class: '' }
textAlign 文字对齐方式 'center'
overflow 内容超过单元格宽度时是否显示 'visible':永远显示
autoHide 自适应显示/隐藏 布尔值
template 用于显示内容的 HTML 模板 function(row) { return row.Id; }
sortCallback 排序回调 自定义排序方式,参 local-sort.js

其它:

属性 功能 解释
translate 翻译

参 core.datatable.js 3512 行,简体中文示例:

translate: {
    records: {
        processing: '加载中...',
        noRecords: '没有找到相关内容',
    },
    toolbar: {
        pagination: {
            items: {
                default: {
                    first: '首页',
                    prev: '前一页',
                    next: '后一页',
                    last: '末页',
                    more: '更多',
                    input: '请输入跳转页码',
                    select: '设置每页显示项数',
                },
                info: '当前第 {{start}} - {{end}} 项 共 {{total}} 项',
            },
        },
    },
},


extensions

暂时没有找到对字符串内容进行自动 HTML 编码的属性,这可能带来 XSS 攻击风险,在 remote 方式中必须在服务端预先 HtmlEncode。即使在 layout.columns.template 中进行处理也是无济于事,恶意代码会在 ajax 加载完成后立即执行。


方法和事件:待完善。


更多信息请查询官方文档:https://keenthemes.com/keen/?page=docs&section=html-components-datatable

xoyozo 5 年前
5,569

这是一篇可能解决困扰了 .NET 程序猿多年的文章!

首先,使用 Visual Studio 2019 创建一个 ASP.NET WEB 应用程序,直接选用了 MVC 模板。

直接发布项目,默认的设置如下图:

image.png

对于小型项目,按默认设置发布基本可满足正常运行,首次运行打开第一个页面基本在 5~6 秒(视服务器配置),其它页面的首次打开也基本在 1~2 秒完成,非首次瞬间打开。

一旦项目功能变得复杂,文件增多,会导致发布后首次运行打开第一个页面 30 秒以上,其它页面的首次打开 10 秒左右,非首次瞬间打开。

这是因为项目在发布时没有进行预编译,而是在用户访问网页时动态编译,一旦应用程序池回收,或项目文件改动,都会重新编译,再次经历缓慢的“第一次”,这是不能忍的。

于是咱们来研究一下“预编译”。

在发布页面勾选“在发布期间预编译”,这时发布会在“输出”窗口显示正在执行编译命令(编译时间会比较长):

image.png

该选项对发布后的文件结构和内容影响不大,因此对首次执行效率的提升也不大,重要的在后面。

在“高级预编译设置”窗口中:

image.png

我们针对预编译选项和合并选项分别做测试。

不勾选“允许更新预编译站点”,会致 bin 目录中生成许多 .compiled 文件,而所有 .cshtml 文件的内容都是:

这是预编译工具生成的标记文件,不应删除!

如果是 Web From 网站,.aspx/.ashx 等文件内容同上。

尝试打开网站页面,你会发现,除了项目启动后的第一个页面仍然需要 1~2 秒(无 EF),其余每个页面的首次都是瞬间打开的(EF 的首次慢不在本文讨论范围)。这让我对预编译有一种相见恨晚的感觉!

这里偷偷地告诉你,把 Views 目录删掉也不影响网页正常打开哦~为什么不让删,咱也不敢问,咱也不敢删。

目的达到了,有一些后遗症需要解决,比如 bin 目录内杂乱无章。

选“不合并。为每个页面和控件创建单独的程序集”,结果是 bin 多出许多 App_Web_*.dll 文件。

选“将所有输出合并到单个程序集”,填写程序集名称。这时会发现“输出”窗口执行了命令:

image.png

如果程序集名称跟已有名称冲突,会发生错误:

合并程序集时出错: ILMerge.Merge: The target assembly '******' lists itself as an external reference.

查看 bin 目录,.compiled 文件还在,但 App_Web_*.dll 合并成了一个程序集。FTP 的“不合并”也是把所有 App_Web_*.dll 上传一遍,所以不存在相对于“合并”的增量发布优势。

是不是勾了“视为库组件删除(AppCode.compiled 文件)”.compiled 文件就会不见?意外之外,情理之中,bin 没有什么变化。

继续选择“将各个文件夹输出合并到其自己的程序集”,呃,bin 中文件数不降反增。

最后选择“将所有页和控件输出合并到单个程序集”,同样程序集名称不能冲突。结局令人失望,bin 中仍然一大堆 .compiled 和 App_Web_*.dll。


整理成表格:

1
允许更新预编译站点

aspnet_compiler.exe -v / -p \Source -u \TempBuildDir 

重复发布后 bin 目录文件数:不会增多(页面不进行预编译)

2

不允许更新预编译站点,不合并

aspnet_compiler.exe -v / -p \Source \TempBuildDir 

重复发布后 bin 目录文件数:.compiled 不会增多,App_Web_*.dll 增多

3

不允许更新预编译站点,不合并。为每个页面和控件创建单独的程序集

aspnet_compiler.exe -v / -p \Source -c -fixednames \TempBuildDir 

重复发布后 bin 目录文件数:不会增多(编译后的文件名固定,FTP 方式的部分 App_Web_*.dll 文件可能实现增量上传)

4

不允许更新预编译站点,将所有输出合并到单个程序集,不勾选“视为库组件”

aspnet_compiler.exe -v / -p \Source -c \TempBuildDir 

aspnet_merge.exe \TempBuildDir -o 程序集名称 -copyattrs AssemblyInfo.dll -a

重复发布后 bin 目录文件数:不会增多(.compiled 固定名称,App_Web_*.dll 合并为一个)

5

不允许更新预编译站点,将所有输出合并到单个程序集,勾选“视为库组件”

aspnet_compiler.exe -v / -p \Source \TempBuildDir 

aspnet_merge.exe \TempBuildDir -o 程序集名称 -copyattrs AssemblyInfo.dll -a -r 

重复发布后 bin 目录文件数:不会增多(.compiled 固定名称,App_Web_*.dll 合并为一个)

6

不允许更新预编译站点,将每个文件夹输出合并到其自己的程序集,前缀

aspnet_compiler.exe -v / -p \Source -c \TempBuildDir 

aspnet_merge.exe \TempBuildDir -prefix 前缀 -copyattrs AssemblyInfo.dll -a  

重复发布后 bin 目录文件数:.compiled 不会增多,App_Web_*.dll 增多

7

不允许更新预编译站点,将所有页和控件输出合并到单个程序集

aspnet_compiler.exe -v / -p \Source -c \TempBuildDir 

aspnet_merge.exe \TempBuildDir -w 程序集名称 -copyattrs AssemblyInfo.dll -a  

重复发布后 bin 目录文件数:.compiled 不会增多,App_Web_*.dll 增多

bin 目录下,页面的程序集文件(App_Web_*.dll)增多的原因是编译后的文件名不固定,发布到会导致残留许多无用的程序集文件。

相比较,如果第 3 种能实现 FTP 稳定的增量上传的话是比较完美的(还有一个缺点是:如果页面有删除,目标 bin 内对应该页面的 .compiled 和 .dll 不会删除,这跟“允许更新预编译站点”是一个情况),那么第 4 种 或第 5 种也是不错的选择(同样有缺点:执行合并比较慢)。

测试一个有 300 个页面的项目,compiler 用时约 2 分钟,merge 用时约 5 分钟,发布用时约 4 分钟。

这里有个槽点,执行预编译和合并是佛系的,CPU 和磁盘使用率永远保持在最低水平。

所以如果是要经常修改的项目,那么建议选择“不合并”的第 3 种发布方式:

微信图片_20190715160035.png

“视为库组件(删除 AppCode.compiled 文件)”:移除主代码程序集(App_Code 文件夹中的代码)的 .compiled 文件。 如果应用程序包含对主代码程序集的显式类型引用,则不要使用此选项。


补充:

  • 不允许更新预编译站点发布后,因为前端页面没有内容,因此无法单独修改发布(单独发布一个页面后,在访问时不会生效!),只能全站发布,耗时较长;bin 目录有变动将导致使用 InProc 方式存储的 Session 丢失。

  • 预编译的另一个优点是可以检查 .aspx / .cshtml 页面 C# 部分的错误(特别是命名空间和路径引用)。

  • 改为预编译发布后,可以将服务器上残留的 .master / .ascx / .asax 删除,但不能删除 .aspx / .ashx /.config 等。

  • VS 发布到 FTP 经常会遗漏一些页面文件,不合并时会遗漏独立文件,合并后也会遗漏合并后的 .dll 的文件,合并的好处就是方便检查是否完全上传发布。

  • 慎选“在发布前删除所有现有文件”!一旦勾选发布,世界就清静了,所有网友上传的图片附件以及网站运行产生的其它文件,消失得无影无踪。不管发布到文件系统还是发布到 FTP 都一样。当然,如果是先发布到文件系统,再通过 FileZilla 等 FTP 软件上传到服务器的,建议勾选此项。

  • .NET Core 应用程序部署:https://docs.microsoft.com/zh-cn/dotnet/core/deploying/index

  • 由于上传文件时 bin 目录文件较多,理论上 bin 目录内的文件有任何改动都会重启应用池,而且 VS 是单线程上传的,导致期间网站访问缓慢,服务器 CPU 升高,我的做法是:发布到文件系统,再使用专用 FTP 工具上传,上传用时约半分钟(如果大小不同或源文件较新则覆盖文件)。还嫌慢?那就打包上传,解压覆盖。

  • 关于本文研究对象的官方解释:高级预编译设置对话框

  • 出现“未能加载文件或程序集“***”或它的某一个依赖项。试图加载格式不正确的程序。”的问题时,先用改用 Debug 方式发布会报详细错误,一般是 .aspx 等客户端页面有 C# 语法问题,注意提示报错的是 /obj/ 目录下的克隆文件,应更改原文件。排除错误后关闭所有页面,再使用 Release 方式发布。

  • 2025年9月补充:因预编译发布后生成的文件时间都是系统最新时间,通过 FTP 上传到服务器时都会覆盖文件,可能导致杀毒软件进程 MsMpEng.exe 占用 CPU 过高。尝试选择不进行预编译,即取消“发布期间预编译”前的勾,这样发布的的文件时间都是文件本身的最后修改时间,重复发布不会更新这个时间,而且 bin 目录中也不会出现大量编译后的文件。这样通过 FTP 上传时只要设置“大小不同且文件较新则覆盖”就不会重复上传文件了,杀毒软件的工作量就能大大减少。缺点就是本文开头说的,每个页面的第一次打开会比较慢,而是非常慢。所以仍然需要勾选“发布期间预编译”,同时勾上“允许更新预编译站点”,这样 bin 目录中不会发现很多文件(合并不合并都一样),打开每个页面的第一次耗时也能在接受范围内。

xoyozo 7 年前
12,881

一、显示信息的命令

console.log("normal");           // 用于输出普通信息
console.info("information");     // 用于输出提示性信息
console.error("error");          // 用于输出错误信息
console.warn("warn");            // 用于输出警示信息

 

二、点位符:字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o);

console.log("%s","string");                 //字符(%s)
console.log("%d年%d月%d日",2016,8,29);       //整数(%d或%i)
console.log("圆周率是%f",3.1415926);         //浮点数(%f)
var dog = {};
dog.name = "大毛";
dog.color = "黄色";
dog.sex = "母狗";
console.log("%o",dog);                      //对象(%o)


 

三、信息分组 (console.group(),console.groupEnd())

console.group("第一组信息");
    console.log("第一组第一条:我的博客");
    console.log("第一组第二条:CSDN");
console.groupEnd();

console.group("第二组信息");
    console.log("第二组第一条:程序爱好者QQ群");
    console.log("第二组第二条:欢迎你加入");
console.groupEnd();

 

 

四、将对象以树状结构展现 (console.dir()可以显示一个对象所有的属性和方法)

var info = {
    name : "Alan",
    age : "27",
    grilFriend : "nothing",
    getName : function(){
        return this.name;
    }
}
console.dir(info);


 

五、显示某个节点的内容 (console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码)

var node = document.getElementById("info");
node.innerHTML += "<p>追加的元素显示吗</p>";
console.dirxml(node);

 

六、判断变量是否是真 (console.assert()用来判断一个表达式或变量是否为真,只有表达式为false时,才输出一条相应作息,并且抛出一个异常)

var testObj = false;
console.assert(testObj, '当testObj为false时才输出!');

 

七、计时功能 (console.time()和console.timeEnd(),用来显示代码的运行时间)

console.time("控制台计时器");
for(var i = 0; i < 10000; i++){
    for(var j = 0; j < 10000; j++){}       
}
console.timeEnd("控制台计时器");

 

八、性能分析performance profile (就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()和console.proileEnd();) 

function All(){
    // alert(11);
    for(var i = 0; i < 10; i++){
        funcA(100);
    }
    funcB(1000);
}
function funcA(count){
    for(var i = 0; i < count; i++){};
}
function funcB(count){
    for(var i = 0; i < count; i++){};
}
console.profile("性能分析器");
All();
console.profileEnd();

详细的信息在chrome控制台里的"profile"选项里查看

 

九、console.count()统计代码被执行的次数

function myFunction(){
    console.count("myFunction 被执行的次数");
}
myFunction();       //myFunction 被执行的次数: 1
myFunction();       //myFunction 被执行的次数: 2
myFunction();       //myFunction 被执行的次数: 3


 

十、keys和values,要在浏览器里输入

 

 

十一、console.table表格显示方法

  var mytable = [
    {
        name: "Alan",
        sex : "man",
        age : "27"
    },
    {
        name: "Wu",
        sex : "gril",
        age : "28"
    },
    {
        name: "Tao",
        sex : "man and gril",
        age : "29"
    }
]
console.table(mytable);


 

十二、Chrome 控制台中原生支持类jQuery的选择器,也就是说你可以用$加上熟悉的css选择器来选择DOM节。

$("body");           //选择body节点

 

十三、copy通过此命令可以将在控制台获取到的内容复制到剪贴板

copy(document.body);                      //复制body
copy(document.getElementById("info"));    //复制某id元素的的节点

 

十四、$_命令返回最近一次表达式执行的结果,$0-$4代表了最近5个你选择过的DOM节点

 

 

十五、利用控制台输出文字,图片,以%c开头,后面的文字就打印的信息,后面一个参数就是样式属性;

console.log("请在邮件中注明%c 来自:console","font-size:16px;color:red;font-weight:bold;");

 


A
转自 AlanTao 7 年前
6,256