javascript一句话笔记,javascript基本语句

发布时间:2022-11-16

本文目录一览:

  1. Javascript学习笔记 delete运算符
  2. JavaScript学习笔记之数组基本操作示例
  3. 俺是javascript初学者 像高手请教谢谢

Javascript学习笔记 delete运算符

一、语法

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

var o = {a: 1};
delete o.a; // 此处 o.a 是对象 o 的属性 a 的引用

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

with (o) {
    delete a;
}

二、delete 的返回值

delete 是普通运算符,会返回 truefalse。规则为:当被 delete 的对象的属性存在并且不能被删除时,返回 false,否则返回 true。 这里的一个特点就是,对象属性不存在时也返回 true,所以返回值并非完全等同于删除成功与否。

var o = {a: 1};
delete o.a; // 返回 true
var b = 2;
delete b; // 返回 false,ECMA 规则约定:使用 var 和 function 声明的变量不可以被 delete

三、哪些情况下不允许 delete

上例提到的 varfunction 声明的变量不可以被 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 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];
alert(arr[0]); // undefined
arr[0] === undefined; // true

对比直接将键值赋值 undefined

var arr = ['yuyin', 'suhuan', 'baby'];
arr[0] = undefined;
alert(arr[0]); // undefined
arr[0] === undefined; // true

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

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

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

一、数组定义

1. 定义

var a = [1, 2, 3];
var a = new Array(1, 2, 3);

2. 长度

返回长度:

var a = [1, 2, 3, 4, 5, 6];
alert(a.length);

设置长度:

var a = [1, 2, 3, 4, 5, 6];
a.length = 2;
alert(a);

二、数组连接

var a = [1, 2, 3];
var b = [4, 5, 6];
alert(a.concat(b));
alert(b.concat(a));

三、数组排序

sort() 函数默认情况是把数组元素按字符串排序。

例子 01

var arr = ['float', 'width', 'alpha', 'zoom', 'left'];
arr.sort();
alert(arr);

例子 02

var arr = [12, 8, 99, 19, 112];
arr.sort();
alert(arr);

例子 03(改进)

var arr = [12, 8, 99, 19, 112];
arr.sort(function(n1, n2) {
    return n1 - n2;
});
alert(arr);

四、数组连接

1. 两个数组间的连接:concat()

var a = [1, 2, 3];
var b = [4, 5, 6];
alert(a.concat(b));
alert(b.concat(a));

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

var arr = [1, 2, 3, 4];
alert(arr.join('--p'));

五、数组元素添加、删除

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

尾部添加:push(value)

var a = [1, 2, 3];
a.push(4);
alert(a);

尾部删除:pop()

var a = [1, 2, 3];
a.pop();
alert(a);

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

头部添加:unshift(value)

var arr = [1, 2, 3];
arr.unshift(0);
alert(arr);

头部删除:shift()

var arr = [1, 2, 3];
arr.shift();
alert(arr);

3. 数组——splice()

删除数据

var arr = [1, 2, 3, 4, 5, 6];
arr.splice(2, 3);
alert(arr);

插入数据

var arr = [1, 2, 3, 4, 5, 6];
arr.splice(2, 0, 'a', 'b', 'c');
alert(arr);

替换数据

var arr = [1, 2, 3, 4, 5, 6];
arr.splice(2, 2, 'a', 'b');
alert(arr);

感兴趣的朋友可以使用 在线HTML/CSS/JavaScript代码运行工具 测试上述代码运行结果。 更多关于 JavaScript 相关内容还可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》 及 《JavaScript错误与调试技巧总结》 希望本文所述对大家 JavaScript 程序设计有所帮助。 您可能感兴趣的文章:

俺是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)

&&

条件判断:

表达式1 && 表达式2

表达式1 和 表达式2 都是会返回真值的式子。 当且仅当两个表达式均为真的时候,这整个式子返回真,否则返回假。 全真才真,一假则假。

或(or)

||
表达式1 || 表达式2

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

! 非(not)【逻辑判断】

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

!表达式

返回表达式真值的反面。如表达式为真,则返回假;表达式假则返回真。 这些逻辑判断符用在可以用真值的地方如 if 条件句:

if (真值表达式) {
    // 如果为真运行这个大括号里面的
} else {
    // 如果为假运行这个大括号里面的
}

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