js 相关知识整理(一)

真正声明变量,是用逗号隔开的

EcM5:严格模式“use strict”

java与js 语言的区别:

1、弱类型语言

1、声明变量时不需要提前指定数据类型

  2、同一个变量可先后保存不同类型的数据

  3、js会根据自身需要自动类型转换

String()是万能的

toString()  null和undefined不行 没有包装类型,没有new

包装类型 专门 封装 原始类型的数据,并提供对原始类型数据操作方法的对象。

何时使用:都是自动创建的  试图用原始类型的值调用方法自动创建,用完自动释放。

var n=Number(100);
typeof(n)
"number"
var n=new Number(100);
typeof(n)
"object"
n.toString();
"100"
n.valueOf();
100

区别:string,toString做类型转换,valueof取值,不做类型转换

valueOf() 只取值,不做类型转换    toString 做类型转换

valueOf()计算时自动调用

    {}+[]   ->  0      {}不执行  []->0

    []+{}   ->   "[object object]"    []调用toString方法  输出空字符串 +{} (拼接)

isNaN(Number(true))

false

isNaN(true)

false

隐式转换默认转换为bool类型

&& 常用做默认值

|| 常用来解决浏览器兼容性问题

var a=10;

function f(){

var a=20;

return function(){

console.log(a);

}

}

var c=f();

c();       输出结果:20

var a=10;

function f(){

var a=20;

(function g(){

console.log(a);

})();

           function k(){

console.log(a);

}

}

f();    输出结果:20

这篇就先写到这里了

时间: 2024-10-02 05:54:25

js 相关知识整理(一)的相关文章

链表的相关知识整理

链表的相关知识整理 什么是链表 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域. 链表与数组的区别 回忆下数组的概念 ,所谓数组,是相同数据类型的元素按一定顺序排列的集合.根据概念我们可以知道数组在内存中连续,链表不连续:由于不同的存储方式导致数组静态分配内存,链表动态分配内存,数组

MFC相关知识整理

按:在该文档中整理我在做MFC相关编程时遇到的问题以及当时解决时所参考的资料.标准C/C++相关的问题不会放在这个帖子中,请移步:http://blog.csdn.net/edychang/article/details/37561701 1._T/_L宏:http://blog.csdn.net/panjean/article/details/6011090 2.CListCtrl: http://blog.csdn.net/bingxuewujian/article/details/7050

Redis相关知识整理

Redis相关知识整理 1. Redis和MySQL的区别?a).mysql是关系型数据库,而redis是NOSQL,非关系型数据库.mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在缓存中,读取速度快,但是保存时间有限,最后按需要可以选择持久化到硬盘. b).mysql作为持久化数据库,每次访问都要在硬盘上进行I/O操作.频繁访问数据库会在反复连接数据库上花费大量时间.redis则会在缓存区存储大量频繁访问的数据,当浏览器访问数据的时候,先访问缓存,如果访问不到再进入数据库.

OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译安装OpenCV. 网上能够找到关于OpenCV人脸检测的例子也比较多,大多也都是基于这个例程来更改,只是多数使用的是OpenCV 1.0的版本,而OpenCV2.0以后由于模块结构的更改,很多人并没有将例程运行起来.如果是新版的OpenCV跑旧的例程,编译运行出错的话,需要确保: #include

Linux动态库相关知识整理

动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序, 动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执 行程序等诸多好处.作者是一个Linux后台开发,这些知识经常用到,所以 整理了一下这方面的知识.静态库相对简单,本文只关心Linux平台下的动态库. 创建动态库 这里我把一个短小却很有用的哈希函数编译成动态库做为示例,ELFhash用于对字符串做哈希,返回一个无符号整数. //elfhash.h #include <stdio.h> unsign

Linux 动态库相关知识整理

动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序,动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执行程序等诸多好处.作者是一个Linux后台开发,这些知识经常用到,所以整理了一下这方面的知识.静态库相对简单,本文只关心Linux平台下的动态库. 创建动态库 这里我把一个短小却很有用的哈希函数编译成动态库做为示例,ELFhash用于对字符串做哈希,返回一个无符号整数. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //elf

Apache web服务器的相关知识整理及简要说明

本文将梳理Apache    web网站服务器的相关知识,以及在CentOS6.7环境中简单配置Apache web网站的相关用法! 一. Apache web程序安装 利用光盘,制作本地RPM镜像源,利用yum安装httpd程序包. (1)挂载本地光盘 [[email protected] ~]# mount /dev/sr0 /media/cdrom mount: block device /dev/sr0iswrite-protected, mounting read-only [[ema

cxf 相关知识整理

① 请求方式为GET @GET @Path(value = "/userAddressManage") @Produces( { MediaType.APPLICATION_JSON, "text/html; charset=UTF-8" }) public BuyerAddressResponseModel userAddressManage( @QueryParam("buyerTel") String buyerTel, @QueryPar

JVM的相关知识整理和学习--(转载)

JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数.从dos到window8,从unix到ubuntu和CentOS,还有MAC OS等等,不同的操作系统指令集以及数据结构都有着差异,而JVM通过在操作系统上建立虚拟机,自己定义出来的一套统一的数据结构和操作指令