Javascript 集中知识贮备

本文总结js中常用的知识,有些几乎用不到,或者属于设计缺陷,但是又必须知道,这些是我开发中总结的,如果有不正确的地方,请指出。

个人代码习惯分享:命名尽量语义化但又比较特殊,这样会避免命名冲突,即使全局局部变量会属于不同域也不要使用同名,长一点没关系,不太会英文怎么办?拼音!

一.变量

1.)在非严格模式下,全局变量不用var也可以直接用,但是这样并不好,会造成歧义,阅读会困难。所以正规的写法是提前声明。

2.)有一个概念叫变量提升,在函数内部,所有的变量都会被提升到函数体上部声明。

function upvar(){
console.log(x);
var x = 0;
}
upvar();//打印undefined

变量声明在打印之后,即使在严格模式下也不会报错,原因是js机制把变量声明提前到函数体第一行,但是未赋值,所以上面的函数相当于:

function upvar(){
var x;
console.log(x);
x = 0;
}
upvar();//打印undefined

那么如果全局变量跟函数内局部变量同名呢?结果也是一样的。函数优先扫描内部函数。

var a = 2;
function samenameA(){
	console.log(a)
	var a = 3;
}
samenameA();//打印undefined

  

变量使用必须提前声明,使用前必须提前赋值。所以在我看来除非脑抽筋,不然不会写出这种代码。属于记住概念即可。

3.)this指向

在全局范围下,this指向window,也就是说可以使用this.变量调用全局变量,this.函数调用全局函数。

在对象内,指向当前对象。

在事件内,指向事件dom。

二.数据类型

1.)js有五中基本类型,一种引用类型

基本类型:String,Boolean,Number,undefind,null

引用类型:Object(Date,Array,Reg,Function)

基本包装类型:

单体内置对象:

基本类型是简单值,所见即所得,引用类型是复杂类型,其值是经过计算得到的。

2.)类型内置函数

String

待更...

时间: 2024-10-25 08:51:42

Javascript 集中知识贮备的相关文章

微信应用号开发知识贮备之Webpack实战

天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生.作为行业内人士,我们很应该去拥抱这个趋势.这段时间在忙完工作之余准备储备一下这方面的知识点,以免将来被微信应用号的浪潮所淹没 通过上一篇<微信应用号开发知识贮备之altjs官方实例初探>,我们已经将altjs的官方实例所用到的依赖包升到最新,且修改的源码相应的部分来适应最新的依赖. 今天本人的目标是将实例中的打包工具从browserify切换到当前更火的更接近nodejs编写习惯的weback上来. 既然要用wepac

Javascript基础知识5

不要把相等运算符(==)与赋值运算符(=)搞混. 以&&运算符隔开的两个条件中的前者为错,则不会检测第二个条件的真假.利用这一点,可以提高脚本的速度. 使用带switch的多个条件 if(button=="next") window.location = "next.html"; else if(button=="previous") window.location = "pre.html"; else if(

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

(1)JavaScript基础知识

Javascript基础知识 1.如何使用JavaScript (1).通过<script></script>中直接编写 (2).通过<script src='目标文档的URL'></script>链接外部的Js文件 ① <script  src="URL" type="text/javascript" charset="utf-8"></script> (3).作为某个元素

Javascript基础知识4

字符串大小写转换 toUpperCase()将所有的字符串转换成大写 toLowerCase()将所有的字符串转换成小写 substring(x,y)返回字符串的一部分,从x开始到y结束 charAt(x)获取第x个字符 indexOf("",x)查找字符串, 第一个内容是字符串,第二个是从第x开始 得到的值为这个字符串是从第几个字符开始的 同样lastindexOf()从最后开始查找 split("")分离字符串,内容为以什么分离, 得到的是一个数组 同理,将一个

JavaScript基础知识梳理----正则表达式

JavaScript基础知识梳理----正则表达式 1.创建 方式:---字面量:var 变量名=/表达式/模式修饰符 ---构造函数:var 变量名=new RegExp(“表达式”,“模式修饰符”) 说明: 表达式 单个字符和数字 . 匹配除换行符之外的任意字符 [a-z0-9] 匹配方括号中的任意字符 [^a-z0-9] 匹配不在方括号中的任意字符 \d 匹配数字 \D 匹配非数字 \w 匹配字母 \W 匹配非字母 空白字符 \0 匹配null字符 \b 匹配空格符 \f 匹配进纸符 \n

javascript 基础知识1 数据类型

首先javascript是一种具有面向对象能力的,解释型程序设计语言. js对大小写敏感,一定要采取一致的字符大小写形式,在js中的结束分号(:)是可选的,为了避免JS语句错误,我们还是要注意添加,养成良好的编写习惯. 下面看看数据类型和值. JS有7种数据类型:字符串.数字.布尔.数组.对象.Null.Undefined 字符串类型:由Unicode字符,数字,标点符号组成的序列,可以为多个字符,也可以为0个字符. 1 <script> 2 // var用于声明一个变量 3 var stri

javascript基础知识拾遗

1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console.log(0||true); //true console.log(''||true); //true console.log(false||true); //true console.log(null||true); //true console.log(NaN||true); //true co