JavaScript-基础(一)
来源:互联网 发布:照片变成素描的软件 编辑:程序博客网 时间:2024/05/22 07:42
1.导入方式
- 第一种方法就是JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到中。
- 第二种方法是把JavaScript代码放到一个单独的.js文件,然后在HTML中通过引入这个文件。
2.基本语法、注释
基本语法
JavaScript的语法和Java语言类似,每个语句以;
结束,语句块用{...}
。
注释
行注释:以//开头直到行末的字符被视为行注释,注释是给开发人员看到,JavaScript引擎会自动忽略。
块注释:用/…/把多行字符包裹起来,把一大“块”视为一个注释。
3.数据类型和变量
JavaScript中定义了以下几种数据类型:
- Number
- 字符串
- 布尔值
- null和undefined
- 数组
- 对象:JavaScript的对象是一组由键-值组成的无序集合
变量
变量名是大小写英文、数字、$
和_
的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if
、while
等。
比较运算符
……
4.字符串
JavaScript的字符串就是用''
或者""
括起来的字符表示
模板字符串(相当于python的格式化字符串)
例如:
var name = '小明';var age = 20;var message = '你好, ' + name + ', 你今年' + age + '岁了!';alert(message);
字符串操作
length
str.length 字符串长度
索引取值
str[0] 根据字符串索引取得元素(超出范围的索引不会报错,但一律返回undefined)
需要特别注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果:
var s = 'Test';s[0] = 'X';alert(s); // s仍然为'Test'
JavaScript为字符串提供了一些常用方法,注意,调用这些方法本身不会改变原有字符串的内容,而是返回一个新字符串:
toUpperCase
toUpperCase()把一个字符串全部变为大写:var s = 'Hello';s.toUpperCase(); // 返回'HELLO'
toLowerCase
toLowerCase()把一个字符串全部变为小写:var s = 'Hello';var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lowerlower; // 'hello'
indexOf
indexOf()会搜索指定字符串出现的位置:var s = 'hello, world';s.indexOf('world'); // 返回7s.indexOf('World'); // 没有找到指定的子串,返回-1
substring
substring()返回指定索引区间的子串:var s = 'hello, world's.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello's.substring(7); // 从索引7开始到结束,返回'world'
5.数组
JavaScript的Array
可以包含任意数据类型,并通过索引来访问每个元素。
- 要取得Array的长度,直接访问length属性。
- 直接给Array的length赋一个新的值会导致Array大小的变化。
- 如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化。
大多数其他编程语言不允许直接改变数组的大小,越界访问索引会报错。然而,JavaScript的Array
却不会有任何错误。在编写代码时,不建议直接修改Array
的大小,访问索引时要确保索引不会越界。
数组操作
indexOf
与String类似,Array也可以通过indexOf()来搜索一个指定的元素的位置:var arr = [10, 20, '30', 'xyz'];arr.indexOf(10); // 元素10的索引为0
slice
slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array:var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
注意到slice()的起止参数包括开始索引,不包括结束索引。
如果不给slice()传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array。
push和pop
push()
向Array
的末尾添加若干元素,pop()
则把Array
的最后一个元素删除掉。
unshift和shift
如果要往Array
的头部添加若干元素,使用unshift()
方法,shift()
方法则把Array
的第一个元素删掉。
sort
sort()
可以对当前Array
进行排序,它会直接修改当前Array
的元素位置,直接调用时,按照默认顺序排序。
reverse
reverse()
把整个Array
的元素给掉个个,也就是反转。
splice
splice()
方法是修改Array
的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];// 从索引2开始删除3个元素,然后再添加两个元素:arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']// 只删除,不添加:arr.splice(2, 2); // ['Google', 'Facebook']arr; // ['Microsoft', 'Apple', 'Oracle']// 只添加,不删除:arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
concat
concat()
方法把当前的Array
和另一个Array
连接起来,并返回一个新的Array
:
请注意,concat()
方法并没有修改当前Array,而是返回了一个新的Array
。
实际上,concat()
方法可以接收任意个元素和Array
,并且自动把Array
拆开,然后全部添加到新的Array
里。
join join()
方法是一个非常实用的方法,它把当前Array
的每个元素都用指定的字符串连接起来,然后返回连接后的字符串。
多维数组
如果数组的某个元素又是一个Array
,则可以形成多维数组,例如:
var arr = [[1, 2, 3], [400, 500, 600], '-'];
6.对象
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。
例如:
var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School'
访问属性是通过.
操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用”括起来。
例如:
var xiaohong = { name: '小红', 'middle-school': 'No.1 Middle School'};
xiaohong
的属性名middle-school
不是一个有效的变量,就需要用''
括起来。访问这个属性也无法使用.操作符,必须用['xxx']
来访问:
xiaohong['middle-school']; // 'No.1 Middle School'xiaohong['name']; // '小红'xiaohong.name; // '小红'
JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型。
JavaScript规定,访问不存在的属性不报错,而是返回undefined
。
由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:
var xiaoming = { name: '小明'};xiaoming.age; // undefinedxiaoming.age = 18; // 新增一个age属性xiaoming.age; // 18delete xiaoming.age; // 删除age属性xiaoming.age; // undefineddelete xiaoming['name']; // 删除name属性xiaoming.name; // undefineddelete xiaoming.school; // 删除一个不存在的school属性也不会报错
如果我们要检测xiaoming
是否拥有某一属性,可以用in
操作符。
- Javascript基础(一)
- JavaScript 基础(一)
- javascript基础(一)
- Javascript基础(一)
- Javascript基础(一)
- JavaScript(一)-- 基础
- JavaScript基础(一)
- javascript基础(一)
- JavaScript-基础(一)
- JavaScript基础(一)
- JavaScript基础(一)
- JavaScript基础(一)
- Javascript(基础)(一)
- JavaScript基础(一)
- Javascript基础(一)
- Javascript 基础(一)
- Javascript 基础(一)
- JavaScript基础(一)
- org.apache.ibatis.binding.BindingException原因总结
- 第五章 编写程序---超强力方法
- Windows下Python2.x与Python3.x共存安装
- 浅谈Android之Activity相关介绍
- 用git cmd pull 或push 时提示密码错误的解决方法
- JavaScript-基础(一)
- 构造函数
- PHP源代码数组统计count分析
- 共同的子序列
- 欢迎使用CSDN-markdown编辑器
- nginx SSL的几个步骤
- Android自定义预定日历,并且显示阴历 (修改版)
- 理解HTTP协议
- TLS and SSL