es5规范以及DOM规范--07-2 标准库

ES5 以及 DOM 规范–07-2 标准库 学习参考链接 https://wangdoc.com/javascript/stdlib/index.html 标准库主要对象 Object 对象 属性描述对象 Array 对象 包装对象 Boolean 对象 Number 对象 String 对象 Math 对象 Date 对象 RegExp 对象 JSON 对象 包装对象 对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”(wrapper)。 所谓“包装对象”,指的是与数值、字符串、布尔值分别相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。 包装对象的设计目的,首先是使得“对象”这种类型可以覆盖 JavaScript 所有的值,整门语言有一个通用的数据模型,其次是使得原始类型的值也有办法调用自己的方法。 某些场合,原始类型的值会自动当作包装对象调用,即调用包装对象的属性和方法。这时,JavaScript 引擎会自动将原始类型的值转为包装对象实例,并在使用后立刻销毁实例。 // valueOf() 方法 new String('abc').valueOf() // "abc" // toString() 方法 new String('abc').

阅读更多

分享

js相关语法详解--01 call()、apply()、bind()语法

js相关语法详解–01 call()、apply()、bind()语法 学习参考链接:前置学习函数解释 https://www.w3school.com.cn/js/js_function_invocation.asp 学习参考链接:call() 语法学习 https://www.w3school.com.cn/js/js_function_call.asp 学习参考链接:Apply() 语法学习 https://www.w3school.com.cn/js/js_function_call.asp 学习参考链接:比较好的语法解释 https://blog.csdn.net/wkl115211/article/details/80255967 学习参考链接:比较好的示例 https://www.runoob.com/w3cnote/js-call-apply-bind.html 一般来说,call()、apply()、bind() 三个方法都是一起介绍,因为用法类似,只是有细微差距。 所有函数(这里说的函数是指对象以及对象的方法)都具有call()、apply()、bind() 三个方法。他们可以在执行方法时候用一个值指向this,并改变面向对象的作用域。 call() 语法 call() 方法是预定义的 JavaScript 方法。 它可以用来调用所有者对象作为参数的方法。 通过 call(),您能够使用属于另一个对象的方法。 call() 方法可接受参数。 示例: // 定义一个 person 对象 var person = { firstName:"Bill", lastName: "Gates", fullNameWithAge: function (age) { return this.firstName + " " + this.lastName+ ", age: " + age; } } // 执行对象内部函数 person.

阅读更多

分享

es5规范以及DOM规范--06 编程风格(个人)

ES5 以及 DOM 规范–06 编程风格(个人) 学习参考链接 https://wangdoc.com/javascript/features/style.html 编程风格(根据个人喜好总结) 缩进:使用tab缩进。 区块:使用大括号划分可能引起歧义的区块。同时为了防止自动添加句末分号引起的问题,推荐区块起首的大括号位置跟在关键字的后面。 block { // ... } 圆括号:在 JavaScript 中有两种作用,一种表示函数的调用,另一种表示表达式的组合(grouping)。 为了方便区分,最好遵循如下约束 表示函数调用时,函数名与左括号之间没有空格。 表示函数定义时,函数名与左括号之间没有空格。 其他情况时,前面位置的语法元素与左括号之间,都有一个空格。 foo(bar) // 函数定义 return (a+b); // 返回值 if (a === 0) {...} // 判断条件 function foo(b) {...} // 函数调用 行尾的分号:一般不要省略,除非语法规定本来就不需要在结尾添加分号。例如判断、循环、函数定义等。 全局变量:使用全大写加下划线定义方式 UPPER_CASE with语句:尽量不使用,由于大量使用with语句会导致性能的下降,同时也会给代码的调试造成困难,因此在开发大型应用程序的时候,不建议使用with语句。 语法:with (expression) statement 示例: 定义with语句的目的主要是为了简化多次编写同一个对象的工作,如下面的例子 var qs = location.search.substring(1); var hostName=location.

阅读更多

分享

es5规范以及DOM规范--07-1 标准库

ES5 以及 DOM 规范–07-1 标准库 学习参考链接 https://wangdoc.com/javascript/stdlib/index.html 标准库主要对象 Object 对象 属性描述对象 Array 对象 包装对象 Boolean 对象 Number 对象 String 对象 Math 对象 Date 对象 RegExp 对象 JSON 对象 Object对象 重要静态方法 Object.keys Object.keys方法和Object.getOwnPropertyNames方法都用来遍历对象的属性。 一般两者相同,只有涉及不可枚举属性时,才会有不一样的结果。Object.keys方法只返回可枚举的属性,Object.getOwnPropertyNames方法返回不可枚举的属性名。 示例: var a = ['Hello', 'World']; Object.keys(a) // ["0", "1"] Object.

阅读更多

分享

安卓app开发技术

安卓app开发技术 这里主要考虑当前比较成熟的几个跨平台方案 flutter react-native uni-app 总体对比可以参考:https://www.zhihu.com/question/514074001/answer/2585060251 因为博主本身技术偏向 react ,这里主要以 react-native 作为研究 react-native 官网:https://www.reactnative.cn/ 当前 react-native还没有正式1.0 版本,还在演进中,最新动态说明:https://juejin.cn/post/7063738658913779743 简介 React Native使你能够在Javascript和 React的基础上获得完全一致的开发体验,构建世界一流的原生APP。React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere) Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native。

阅读更多

分享

es5规范以及DOM规范--05 语法介绍

ES5 以及 DOM 规范–05 语法介绍 学习参考链接 https://wangdoc.com/javascript/features/conversion.html 数据类型的转换 JavaScript 是一种动态类型语言,变量没有类型限制,可以随时赋予任意值。 var x = y ? 1 : 'a'; 强制转换方法 强制转换主要指使用 Number():转换数字 String():转换字符串 Boolean():转换布尔值 注意:Boolean()函数可以将任意类型的值转为布尔值。 它的转换规则相对简单:除了以下五个值的转换结果为false,其他的值全部为true。 undefined null 0(包含-0和+0) NaN ''(空字符串) 由于自动转换具有不确定性,而且不易除错,建议在预期为布尔值、数值、字符串的地方,全部使用Boolean()、Number()和String()函数进行显式转换。 错误处理机制 常见错误类型 SyntaxError对象是解析代码时发生的语法错误 ReferenceError对象是引用一个不存在的变量时发生的错误。 RangeError对象是一个值超出有效范围时发生的错误。主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值。 TypeError对象是变量或参数不是预期类型时发生的错误。比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。 URIError对象是 URI 相关函数的参数不正确时抛出的错误,主要涉及encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。 eval函数没有被正确执行时,会抛出EvalError错误。该错误类型已经不再使用了,只是为了保证与以前代码兼容,才继续保留。 eval() 函数计算或执行参数。 如果参数是表达式,则 eval() 计算表达式。如果参数是一个或多个 JavaScript 语句,则 eval() 执行这些语句。

阅读更多

分享

开源聊天室 RocketChat 安装

开源聊天室 RocketChat 安装 参考资料 官方使用Docker 部署说明 https://hub.docker.com/_/rocket-chat 官网:https://rocket.chat/ git 地址:https://github.com/RocketChat/Rocket.Chat#docker 安装mongo 默认容器网络启动一个名为db的mongo数据库,必须是这个名字,其他的就需要制定mongo链接地址了,详细参考上面 官方使用Docker 部署说明 docker run --name db -d mongo:4.0 --smallfiles --replSet rs0 --oplogSize 128 初始化 replicaSet: docker exec -ti db mongo --eval "printjson(rs.initiate())" 安装 RocketChat -p 3000:3000 第一个3000为物理机端口,第二个为容器端口 –link db:db即为上面创建的mongo 容器 ROOT_URL=http://110.40.173.22:物理机的ip即外部访问ip docker run --name rocketchat -p 3000:3000 --link db --env ROOT_URL=http://110.40.173.22 --env MONGO_OPLOG_URL=mongodb://db:27017/local -d rocket.chat

阅读更多

分享

linux docker 安装

Linux 安装 Docker 参考资料:https://www.runoob.com/docker/centos-docker-install.html CentOS 安装 使用阿里源手动安装: 配置命令: sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装命令(需要确认两次下载): sudo yum install docker-ce docker-ce-cli containerd.io 启动 Docker sudo systemctl start docker

阅读更多

分享

开源论坛 NodeBB 安装(使用内网数据库)

安装NodeBB论坛(数据库内网配置,无权限) 参考:https://www.jianshu.com/p/ab72fe404c8d 其他论坛:Dizuss (PHP)https://www.discuz.net/ 0. 前置准备 安装docker:参考 http://liuchenshuo.com/2022/01/01/linux-docker-安装 1. 安装 mongoBD 备份数据库操作:https://www.cnblogs.com/woshimrf/p/docker-install-mongodb-and-backup.html 先创建所需的 docker 网络 docker network create mongo-net 创建了一个名字为mongo-net的默认网络 可以通过命令:docker network list 查看是否创建成功,创建成果结果如下: NETWORK ID NAME DRIVER SCOPE 78a4240d5b93 bridge bridge local b93f96ae1e20 host host local fd99a9463343 mongo-net bridge local ee1974ed8911 none null local 安装 mongodb 不使用权限,内部网络数据库,现阶段使用 docker run \ --name mongo \ --restart always \ --network mongo-net \ -p 27017:27017 \ -v /data/opt/mongodb/data/configdb:/data/configdb/ \ -v /data/opt/mongodb/data/db/:/data/db/ \ -d mongo:4.

阅读更多

分享

开源论坛 NodeBB 安装(数据库配置权限)

安装NodeBB论坛(数据库配置权限) 参考:https://www.jianshu.com/p/ab72fe404c8d 其他论坛:Dizuss (PHP)https://www.discuz.net/ 0. 前置准备 安装docker:参考 http://liuchenshuo.com/2022/01/01/linux-docker-安装 1. 安装 mongoBD 备份数据库操作:https://www.cnblogs.com/woshimrf/p/docker-install-mongodb-and-backup.html 先创建所需的 docker 网络 docker network create mongo-net 创建了一个名字为mongo-net的默认网络 可以通过命令:docker network list 查看是否创建成功,创建成果结果如下: NETWORK ID NAME DRIVER SCOPE 78a4240d5b93 bridge bridge local b93f96ae1e20 host host local fd99a9463343 mongo-net bridge local ee1974ed8911 none null local 安装 mongodb 使用权限(当前测试连接有问题) 创建数据库 主机映射路径在没有的情况下会自动创建:-v /data/opt/mongodb/data/configdb:/data/configdb/ 物理机目录是前面的:/data/opt/mongodb/data/configdb 容器映射目录是:/data/configdb/ docker run \ --name mongo \ --restart always \ --network mongo-net \ -p 27017:27017 \ -v /data/opt/mongodb/data/configdb:/data/configdb/ \ -v /data/opt/mongodb/data/db/:/data/db/ \ -d mongo:4.

阅读更多

分享