您的位置:首页 > Web前端 > JavaScript

黑马程序员_学习日记58_703JavaScript

2012-07-04 22:26 375 查看
iframe可以挂木马

<body>
123123
<iframesrc="02-.htm"
frameborder="0"
width="0px"height="0px"></iframe>
</body>

JavaScript课程分两部分:

1、
基础语法

2、
Dom(文档对象模型)

一、简介

JavaScript是解释型语言(解释一条,运行一条),而C#是编译型语言(全部编译,一次运行)。JavaScript是一种在浏览器端执行的脚本语言。

JavaScript和Java没有直接关系,唯一的关系是JavaScript原名LiveScript,后来吸收了Java的一些特性,升级为JavaScript。

JScript是IE下运行的脚本语言。

JavaScript可以跨平台,只要有一个支持JS的浏览器即可。

二、开发环境

记事本

VS2010

三、语法

大小写敏感、弱类型语言(声明变量都用var)

C#中的var是强类型的,在编译完成时就能知道其类型。

单行注释 //
;多行注释 /* */

<Scirpt>标签可以放到<head>中,也可以放到<body>中。

把<script>标签中的内容提到单独文件中,多页面共享,可以减少网络流量。

一般是先加载css,再加载js。

注意不要写成<script src=”test.js” type=”text/javascript”/>,可能出问题。

变量命名规则:可以以字母、下划线、”$”开头。中间可以加数字。

JavaScript中没有@””的用法。

switch判断时,是“全等于”(===)

四、数据类型(六种)

(一)Boolean、Number、String、Undefined、Null、Object

除了Object是引用类型外,其他都是基本数据类型。

//引用类型对象可以动态的添加属性
var o =
new Object();
o.Name = "zs";
alert(o.Name);

//= = =全等,值相等,并且类型相等
//!==
var a = 123;
var b =
"123";
if (a===b) {
alert("=")
}
else {
alert("!=");
}

//当变量的值为null 0 ""时,if(a)返回false
var a;
if (a) {
alert("1");
}
else {
alert("2");
}

//在script标签中定义的变量为全局变量

//在函数中定义的变量作用域为该函数
function test() {
var a1 =
"5";
a2 = "6";
}

//在JavaScript中没有块级作用域
function test() {
var a1 =
"5";
if (1>0) {
var a1 =
"6";
}
else {
var a2 =
"7";
}
alert(a1);
}

(二)类型转换

var num = parseInt("123.1213");
alert(num);

var num2 = Number("123.1213");
alert(num2);

eval(“5+6”);

console.log(sum);把值输出在控制台上

五、在JS中定义方法

(一)JS中没有方法的重载,后面的同名方法会覆盖前面的方法。

//JS中没有方法的重载,后面的同名方法会覆盖前面的方法
function add(num1, num2) {
return num1 + 1;
}
function add(num1) {
return num1 + 2;
}
alert(add(1));

(二)方法不要和系统函数重名,系统函数是window下的函数

(三)arguments关键字

function add(num1) {
alert(arguments.length);

for (var i = 0; i < arguments.length; i++) {
var n = arguments[i] + 1;
alert(n);
}
}

add(1,2,3,4,5)

(四)匿名函数:

//第一种写法
var f1 =
function (p1, p2) { return p1 + p2; }
alert(f1(1, 2));
//第二种写法:
(function (n1, n2) {
var n3 = n1 + n2;
alert(n3);
})(3, 4);
//第三种写法
var f1 =
new Function("p1",
"return p1+5;");
alert(f1(1));

六、JS面向对象基础

函数就是对象,对象就是函数。

方法直接调用为函数,用new调用为对象。

(一)函数闭包:

function test(x) {
return (function () {return x + 1; })();
}
alert(test(1));

(二)对象

//创建“对象”,写法一:
function Person() { };//类
var p =
new Person(); //对象
p.name = "zs";//属性
p.age = 18;
p.sayHi = function () { alert('hw'); };//方法

p.sayHi();
alert(p.name);
alert(p["age"]);

//写法二:创建对象,闭包
function Person(name,age){
this.name = name;
this.age = age;
this.sayHi =
function () {
alert("我叫"+name);
}
}

var p =
new Person("ls", 17);
p.sayHi();

(三)String对象

var str =
"我爱北京天安门,北京天安门爱我";
alert(str.length);
alert(str.charAt(1));
alert(str.indexof("北京",5));
alert(str.lastIndexOf("北京"));
alert(str.substr(1,3));

(四)Array对象:动态数组,不需要初始化长度。

var arr =
new Array();
arr[0] = "老杨";
arr[1] = "邪恶的人";
arr[2] = "小马哥";
arr[3] = "老虎";
//简便写法
var arr = ["老杨","邪恶的人"];
alert(arr);

(五)字典:
var dic =
new Array();
dic["zs"] =
"张三";
dic["ls"] =
"李四";
dic["mh"] =
"马户";

for (var iin dic) {
alert(i + " : " + dic[i]);
}

(六)Json对象:
var dic = {
"name": "张三","age": 18 };
alert(dic.name);

作业:

交换两个变量的值(*
测试一下是否会交换)√

笔记 √
自学 √

js正则表达式

RegExp /... /

字符串对象 replace match search

字符串替换 把 “北京北京北京” 替换成邯郸
判断用户输入的内容 是否正确(数字 电子邮件...)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: