Java部分
- 一个文件中只能有一个public的类,可以有多个不加标识符的类
// 加了public,文件名需要和类名相同 public class Hello { } // 没有加public,文件名可以不和类名相同 class Helllo { }
HTML部分
@import url("fineprint.css")是css代码,可以写到.css中
<style>
<!--导入css样式表-->
@import url("fineprint.css")
</style>
CSS部分
/ * a.css中写入如下代码也是导入某样式表 */
@import url("fineprint.css")
/ * a.css写入如下代码是指定字符编码 */
@charset "utf-8"
JavaScript部分
- 是基于对象的语言,不是面向对象的语言.
// 声明
var a; // 声明后未定义就是undefined
// 获取数据类型
console.log(type("adsf"));// 可以用于输出该数据的类型string,boolean,number
// 数组定义
var arr1 = new Array();
var arr = [];// 等同于上边
var arr1 = new Array(5);// 定义长度为5的数组
var arr1 = new Array(5, 6, 7);// 数组中顺便初始化5, 6, 7
// 函数
function show(x, y) {
console.log(x);
console.log(y);
console.log(arguments);
}
// 细节1
show(1, 2, 3, 4);// 传四个,x,y可以接收两个,剩下的可以通过默认的数组arguments来接收
// 细节2
var result = show;
/*
定义了一个函数,内存中就有了一个函数对象,并维护一个arguments数组(用来接收参数)。用函数名来指向这个函数对象。
函数名()就调用了这个对象,var result=函数名,相当于result也指向这个函数对象
*/
console.log(result);// 直接输出,就相当于将这个函数对象转成字符串打印出来
// 细节3
alert(show(1, 2));// 将该函数执行完之后,没有返回值,所以弹出undefined
// 动态函数:js内置对象Function。因为传入的内容未知,是动态。用的不多。
var add = new Function("x, y", "var sum; sum = x + y; return sum;");
console.log(add(4, 8));
// 匿名函数,用的很多,例如事件的处理。
var myShow = function(a, b) {
return a + b;
}
// 全局变量:scrpit中定义的变量在整个标签或者页面都有效。
for (var x = 0; x < 3; x++) {
}
console.log(x);// 输出3
for (var x = 0; x < 3; x++) {// 这里如果直接使用x,就是3,如果var x = 0;相当于对x重新赋值
}
// 局部变量:函数中定义的是局部变量
function doSth() {
var sp = 6;
}
console.log(sp);// 访问不到,显示未定义。因为作用域在函数中。外部没有声明
// Object对象的方法:toString(), valueOf()
console.log(doSth.toString());// 将函数转为字符串输出。可以不写toString。数组直接输出,也会调用toString()
console.log(doSth.valueOf());// 和直接输出一样。
// 省去写 对象.方法 中的对象
with(date) {
var first = getFullYear();
var second = getMonth();
}
// 增强for循环遍历
for(var in obj) {
console.log(var)
}
// 全局方法
parseInt(str) // 字符串转int
isNan(var) // 判断是不是数字
// 原型:该对象的一个原有描述。
// objectName.prototype就可以返回对象的原型,可以用来扩展其功能使对象使用其新功能
String.prototype.len = 199;// 给String的原型对象中添加一个属性值.
// 给String的原型对象添加一个方法.新对象可以直接调用该方法.这里使用匿名函数
String.prototype.trim = function () {
var start, end;
start = 0;
end = this.length - 1;
while (start <= end && this.charAt(start) == ' ') {
start++;
}
while (start <= end && this.charAt(end) == ' ') {
end--;
}
return this.substring(start, end + 1);
}
// 也可以将原型中已有的方法进行重写
String.prototype.toString = function() {}
// Javascript自定义对象,使用函数来模拟对象.首字母大写主要是为了区分JS的函数和对象
// 1 动态的属性和方法赋值.类没有创建该属性和方法也可以.
function Person() {
alert();
}
var p = new Person();
p.name = "123";// 动态添加属性
// 动态添加方法
p.show = function() {
alert(this.name);
}
p.show();
// 2 常规创建模式
function Person(name, age) {
this.name = name;
this.name = age;
this.setName = function(name) {
this.name = name;
}
this.getName = function() {
return this.name;
}
}
// Person.prototype也可以用来扩展方法.
var p = new Person();
p.setName("charf");
console.log(p.getName());
// 3 键值对形式定义.定义一个实体
var person = {
// 定义成员,键也可以不加引号 name:"小明"
"name": "小明",
"age": 38,
"getName": function () {
return this.name;
}
}
console.log(person.getName());
// person.x就是person对象中有一个x名称的属性
console.log(person.name);// 对象调用属性的方式:对象名.成员名;对象名["成员名"]
console.log(person["name"]);
for(x in p) {
console.log(x);// 输出对象的所有属性名
console.log(p[x]);// 获取对象的所有属性值
}
// 名称定义
var oPerson = "";// 对象类型
var bFlag = true;// 布尔类型
var iNumber = 1;// 数字类型
var sLine = "1";// 字符串类型
// 复杂的对象创建
var myMap = {
names:[{name1:"e"}, {age:12}]
}
console.log(myMap.names[0].name1);// myMap的names键的第一个元素的name1键
// window:浏览器对象
// 对于表格排序,可以获取每一行的表格对象,然后排序,把最小的那个表格对象append到父容器末尾。
var parent = document.getElementById("test");
var childNodes = parent.children[0];
parent.appendChild(childNodes);// 直接把本对象的位置进行更换