现在的位置: 首页 > 综合 > 正文

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

2013年12月13日 ⁄ 综合 ⁄ 共 3710字 ⁄ 字号 评论关闭

iframe可以挂木马

<body>

    123123

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

</body>

 

JavaScript课程分两部分:

1、 
基础语法

2、 
Dom
(文档对象模型)

 

一、简介

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

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

JScriptIE下运行的脚本语言。

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

 

二、开发环境

记事本

VS2010

 

三、语法

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

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

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

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

 

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

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

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

 

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

 

JavaScript中没有@””的用法。

 

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

 

四、数据类型(六种)

(一)BooleanNumberStringUndefinedNullObject

除了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

   
字符串替换 把 北京北京北京 替换成邯郸

    判断用户输入的内容 是否正确(数字  电子邮件...)

抱歉!评论已关闭.