JS的使用方式

对象

八种数据类型方式

数值型(number)
字符串型(String)
布尔型(Boolean)
Undefined:
Null:
对象(object):

  1. 对象(object) {name:“zhangsan”,age"18}
  2. 数组(array)[1,2,3]
  3. 函数(function) function test() {}

对象的创建三种方式

一.字面量形式创建

  1. var 对象名 = {}; 创建一个空对象
  2. var 对象名 = {键1 : 值1 , 键2 : 值2 , 键3 : 值3,… …}

二.通过new Object 对象创建
var 对象名 = new Object (); 创建一个空对象.
通过对象名.属性名 = 值 , 来赋值.

三 . 通过Object 对象的 create 方法创建对象
var 对象名 = Object.create(null);–>创建空模板对象
通过对象名.属性名 = 值 , 来赋值.
var 对象名 = Object.create(对象);–>以指定对象为模板创建对象

对象的序列化和反序列化

第一种方法
序列化对象:
JSON.stringify( objet )

反序列化对象:
JSON.parse( jsonStr )

第二种方法–利用eval,可将json串转为json对象

  1. 得到的json对象名就是 jsonObj
eval("var jsonObj = " + jsonStr);
  1. 对象中有多个属性
var jsonObj = eval( "("+jsonStr+")");
  1. 对象中只有一个属性
eval(jsonStr);

将json格式数组字符串解析为json格式数组

eval("var arrObj = " + arrStr);

或:

eval(arrStr);

例:

var arr="[{name:'zs',pwd:'123'},{name:'ls',pwd:'123'}, {name:'ww',pwd:'123'}]";
eval("var arrObj = " + arr); 
var arrObj2 = eval(arr);

js的使用方式:

1. 行内JS:写在标签中的代码

2. 内部JS写在页面中的JS代码

<scrip type="text/javascript">
//js代码写在双标签之间
</script>

可以放在html页面中的任意位置:

a.<head></head> 标签中
b.<body></body>标签中
c.写body标签后

3.外部JS

引入外部的js文件

<script type="text/javascript" src="文件地址">
</script>

注:script标签设置了src属性,则在双标签中写的js代码无效;
通常我们会使用2,3的写法.

数据类型

数值(number) : 整数和小数(比如 1 和 3.14)
字符串(String) : 字符组成的文本(比如"Hello World")

数据类型的强转

转String类型数据:
String()—用构造器转String类型数据, 用构造器可以将 null 和 undefined 转成String类型的数据.

toString()—用方法转String类型数据, 不能转String类型.

转Boolean 类型数据:

console.log(Boolean("0")); --->true;
console.log(Boolean(0)); --->falese;

数组

数组的3种定义方式 :

  1. var arr = [值1, 值2, 值3] ;
  2. var arr = new Array(值1, 值2, 值3) ;
  3. var array = new Array ( size ) ;

数组的长度可以通过length属性来获得, 并也可以通过length属性来改变长度.
数组的每一个元素都可以被访问和修改, 甚至是不存在的元素, 无所谓越界.

数组的遍历

数组的3个循环方式

  1. 普通for循环遍历
for(var idx=0;idx<arr.length;idx++){ 
	console.log(arr[idx]);
 }
  1. for…in
for(var idx in arr){ 
	console.log(arr[idx]);
 }
  1. forEach
arr.forEach(function(elem,idx){
	 console.log(idx+"-->"+elem);
  });

注意:

  • for --> 不遍历属性
  • for in -->不遍历索引中的undefined
  • foreach -->不遍历属性和索引中的undefined

数组提供的操作方法

常用方法

push —> 添加元素到最后
unshift —> 添加元素到最前
join —> 数组转成字符串
split —>字符串转成数组

pop 删除最后一项
shift 删除第一项
join 数组转成字符串
indexOf 数组元素索引
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并

函数的三种定义方式

  1. function 函数名([参数列表]){}
  2. var 变量名 = function ([参数列表]) {}
  3. var add = new Function(‘x’,‘y’,‘return (x + y)’)

闭包

闭包就是能够读取其他函数内部变量的函数。
由于在 Javascript 语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。

它的最大用处有两个:
一个是前面提到的可以读取函数内部的变量
另一个就是让这些变量的值始终保持在内存中。
以及还可以避免变量名冲突的问题。

例:

    function waterFlower(water) {
       function flowerType(flowerName,flow) {
            water = water-flow;
            if(water<flow) {
                water = water +100
            }
           document.write("给"+flowerName+"浇"+flow+"ml水,还剩下"+water+"的水</br>");
        }
        **return flowerType;**  ----->注意此处要的是要return整个函数,所以不要();
}
var water1 = waterFlower(200);
water1("水仙",50);
water1("菊花",50);
water1("霸王花",50);
water1("玫瑰花",50);
water1("月季花",50);
water1("喇叭花",50);
water1("一串红花",50);

闭包的构成:
1、外部函数嵌套内部函数
2、内部函数使用外部函数的环境
3、外部函数返回内部函数

JS中的常用全局属性和方法

Infinity 表示正无穷大的数值
NaN 非数值 undefined 未定义的值
eval() 计算JavaScript代码串,返回结果
isFinite() 检验一个值是否是无穷大的数字
isNaN() 检验一个值是否是非数字的值
parseFloat() 从字符串解析一个带小数点的数字
parseInt() 从字符串解析一个整数
encodeURIComponent() 返回参数的副本,其中某些字符被十六进制的转义序列替换了
decodeURIComponent() 对encodeURIComponent()转移的字符串解码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值