首页 > 编程知识 正文

javascript简要笔记,JavaScript读书笔记

时间:2023-12-26 02:46:17 阅读:322401 作者:TWCQ

本文目录一览:

Javascript学习笔记 delete运算符

一、语法

delete后面的表达式必须给出一个属性的引用,比如

var

o

=

{a:1};

delete

o.a;

//此处o.a是对象o的属性a的引用

只有在with语句里才能使用单独的属性名

复制代码

代码如下:

with(o){

delete

a;

}

二、delete的返回值

delete是普通运算符,会返回true或false。规则为:当被delete的对象的属性存在并且不能被删除时

返回false,否则返回true。

这里的一个特点就是,对象属性不存在时也返回true,所以返回值并非完全等同于删除成功与否。

复制代码

代码如下:

var

o

=

{a:1};

delete

o.a;

//返回true

var

b

=

2;

delete

b;//返回false,ECMA规则约定:使用var和function声明的变量不可以被delete

三、哪些情况下不允许delete

上例提到的var和function声明的变量不可以被delete,但隐式声明可以被删除

复制代码

代码如下:

function

c(){return

12;}

delete

c;//返回false

d

=

function(){return

12;}

delete

d;//返回true

不能delete从原型链上继承的属性,但可以删除原型链上的属性

复制代码

代码如下:

function

Foo(){}

Foo.prototype.bar

=

42;

var

foo

=

new

Foo();

delete

foo.bar;

//

返回true,但并没有起作用

alert(foo.bar);

//

alerts

42,

属性是继承的

delete

Foo.prototype.bar;

//

在原型上删除属性bar

alert(foo.bar);

//

alerts

"undefined",

属性已经不存在,无法被继承

四、特例

复制代码

代码如下:

eval执行的代码中如有通过var和function声明的变量,可以被delete

eval("var

a=1");

delete

a;

alert(a);

//报未定义错误

如果声明是在eval执行代码中的闭包内进行的,则变量不能被delete

eval("(function(){var

a=1;delete

a;

return

a;})()");//1

五、delete

数组元素

从数组中delete其元素并不会影响数组的长度

复制代码

代码如下:

var

arr

=

['yuyin','suhuan','baby'];

delete

arr[0];

alert(arr.length);//alert

3

被delete的键值已经不属于数组,但却还是可以被访问,其值为undefined。

复制代码

代码如下:

var

arr

=

['yuyin','suhuan','baby'];

delete

arr[0];

in

arr;

//

false

alert(arr[0]);//undefined

arr[0]

===

undefined;//true

对比直接将键值赋值undefined

复制代码

代码如下:

var

arr

=

['yuyin','suhuan','baby'];

arr[0]

=

undefined;

in

arr;

//

true

alert(arr[0]);//undefined

arr[0]

===

undefined;//true

可以看出delete

操作只是将键值这个属性从数组中删除了,数组本身也是对象,这个情况好理解的。如果需要保留键值,可以用undefined赋值。

俺是javascript初学者 像高手请教谢谢

% 求余

var a=5;

var b=7;

var c=b%a;//c被赋值b模除于a,这个时候c的值是2(7除以5于2)

++ 自加

var a=5;

a++;//这个时候a自加,那么a的值现在是6

//a++和++a有区别,但是都能让这个变量自加1

-- 自减

//同自加

== 等于【逻辑判断】

//这个式子会返回真值,就是真(true)假(false)

var a=3;

var b=4;

var c=3;

a=b //3不等于4 返回的是 假

a=c //3等于3 返回的是 真

=== 恒等于【逻辑判断】

//这个式子在判断等于的基础上还判断这个变量的类型,初学者可以不掌握,但是要明白不一样

!= 不等于【逻辑判断】

//如果不等于就返回 真 ,等于就返回 假

//和 == 完全相反的返回值

= = 大于 小于 大于等于 小于等于【逻辑判断】

//返回真值。

【逻辑判断】

且(and)

|| 或(or)

//条件判断

表达式1 表达式2

//表达式1和表达式2都是会返回真值的式子

//当且仅当两个表达式均为真的时候,这整个式子返回 真 ,否则返回 假

//全真才真,一假则假

表达式1 || 表达式2

//当且仅当两个表达式均为假的时候,这整个式子返回 假,否则返回 真

//全假才假,一真则真

! 非(not)【逻辑判断】

//非是一个单目,也就是一个参数的条件判断

!表达式

//返回表达式真值的反面。如表达式为真,则返回假;表达式假则返回真。

这些逻辑判断符用在可以用真值的地方如 if 条件句:

if( 真值表达式 ){

//如果为真运行这个大括号里面的

}else{

//如果为假运行这个大括号里面的

}

ps:在js中任何式子都可以做真值判断。0为假,其他任何字符,对象,变量等都为真。

JavaScript学习笔记之数组基本操作示例

本文实例讲述了JavaScript学习笔记之数组基本操作。分享给大家供大家参考,具体如下:

一、数组定义

1、定义

vara=[1,2,3]

vara=newArray(1,2,3);

2、长度

返回长度

script

vara=[1,2,3,4,5,6];

alert(a.length);

/script

设置长度

script

vara=[1,2,3,4,5,6];

a.length=2;

alert(a);

/script

二、数组连接

script

vara=[1,2,3];

varb=[4,5,6];

alert(a.concat(b));

alert(b.concat(a));

/script

三、数组排序

sort()函数

默认情况是把数组元素按字符串排序

例子

01

script

vararr=['float','width','alpha','zoom','left'];

arr.sort();

alert(arr);

/script

例子02

vararr=[12,8,99,19,112];

arr.sort();

alert(arr);

例子03

sort()函数的改进

vararr=[12,8,99,19,112];

arr.sort(function(n1,n2){

returnn1-n2;

});

alert(arr);

四、数组连接

1、两个数组间的连接:contact()

script

vara=[1,2,3];

varb=[4,5,6];

alert(a.concat(b));

alert(b.concat(a));

/script

2、数组元素间的连接:join()

script

vararr=[1,2,3,4];

alert(arr.join('--p'));

/script

五、数组元素添加、删除

1、数组尾部的添加、删除

尾部添加:push(value)

例子01

script

vara=[1,2,3];

a.push(4);

alert(a);

/script

尾部删除:pop()

例子02

script

vara=[1,2,3];

a.pop();

alert(a);

/script

2、数组头部的添加、删除

头部添加

unshift(value)

例子01

script

vararr=[1,2,3];

arr.unshift(0)

alert(arr);

/script

头部删除:shift()

例子02

script

vararr=[1,2,3];

arr.shift();

alert(arr);

/script

3、数组------splice()

删除数据

例子01

script

vararr=[1,2,3,4,5,6];

//splice(起点,长度)

arr.splice(2,3);

alert(arr);

/script

插入数据

例子02

script

vararr=[1,2,3,4,5,6];

//插入数据splice(起点,长度,元素)

arr.splice(2,0,'a','b','c');

alert(arr);

/script

替换数据

例子02

script

vararr=[1,2,3,4,5,6];

//替换数据

arr.splice(2,2,'a','b');

alert(arr);

/script

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:测试上述代码运行结果。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

您可能感兴趣的文章:js数组与字符串的相互转换方法js删除数组元素、清空数组的简单方法(必看)js数组循环遍历数组内所有元素的方法JS

array

数组详解js数组去重的三种常用方法总结JavaScript从数组中删除指定值元素的方法JS数组的遍历方式for循环与for...in向JavaScript的数组中添加元素的方法小结JS删除数组里的某个元素方法javascript

数组的定义和数组的长度Js数组的操作push,pop,shift,unshift等方法详细介绍

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。