某人初学javascript的时候写的学习笔记_javascript技巧
/*
* JavaScript 객체는 속성(메서드)의 모음입니다
* 이 언어에서는 변수 이름이나 메서드 이름이 선언 사양을 따르지 않으면
* 대괄호 "[]"를 사용해야 함 참고
*
*/
/**
* <1.>이 문은 class1 클래스를 선언합니다. class1은 생성자라고도 하는 생성 메서드와 동일합니다.
* class1 메서드를 선언한다고도 할 수 있습니다.
*/
function class1(){
this.name="xjl" ; //give 객체에 속성 추가
this.say= function(){alert("Hello everything!");} //객체에 메소드 추가
/**
* <2.> new 키워드를 사용하여 인스턴스를 만듭니다. new 연산자는 내부 클래스뿐만 아니라 사용자 정의 클래스에도 유효합니다.
* 각 객체는 여러 속성으로 간주될 수 있습니다. ( 메소드 모음), 즉 객체 이름입니다. 속성(메서드) 이름 또는 객체 이름 ["속성(메서드) 이름"]
* 대괄호 '[]'는 어느 것이 확실하지 않은 경우에 적합합니다. 참조할 속성(메서드)
*/
var a = new class1();
//alert(typeof(a)) //typeof(a)는
의 유형을 반환합니다//alert(a.name) ; //각 객체를 볼 수 있습니다. 작업은 여러 속성(메서드)의 모음입니다.
//alert(a['name']) //대괄호([])를 사용하여 속성과 메소드를 참조합니다. the object
//드롭다운 상자 개체 이름 [Drop-down box object.value] 사용자가 선택한 값을 가져올 수 있습니다. 또한 eval("드롭다운 상자 개체 이름." 드롭다운을 사용할 수도 있습니다. box object.value);
//a.say(); //객체의 메소드 호출
//var arr=new Array()
//arr['push']('abc '); //배열에 요소를 추가합니다. 여기서 push는 내장 속성입니다.
// arr['push']('1234'); //배열에 요소 추가
// Alert(arr);
/**
* <2.> 객체 속성 및 메소드를 동적으로 추가, 수정 및 삭제합니다.
*
*/
var obj = new Object()
//속성 추가...속성 이름은 임의적일 수 있습니다.
obj.name= "Xu Jianlong";
obj.sex = 'Male';
obj['my name'] = "xujianlong"; //식별자가 아닌 문자열을 속성 이름으로 사용하려면 대괄호 "[]"를 사용하세요. 🎜>//메서드 추가... 메소드 이름은 임의로 선택할 수도 있고, 매개변수를 전달할 수도 있습니다
obj.alert = function(a){
alert(a "Hello!")
}
//속성 값을 다른 것으로 변경하는 속성 수정
obj.name = "Zhang San "
obj['name'] = 'anme'; 🎜>//속성을 삭제한다는 것은 속성 값을 정의되지 않음 또는 null로 변경하는 것을 의미합니다.
obj.name = 'undefine'
/* *
* <三> 중괄호({}) 구문을 사용하여 유형이 지정되지 않은 객체 생성
*/
//속성과 메서드를 중괄호로 묶습니다. , 속성을 쉼표로 구분하고 속성 값을 콜론으로 구분합니다
var ob = {
name: "123 ",
say:function(){alert("123")} //The 마지막 속성이나 메소드에는 쉼표가 필요하지 않습니다
}
//다음 메소드를 사용하여 객체의 속성과 메소드를 정의할 수도 있습니다
var ob1 = {"name":'123',' say':function(){alert("abcd");}};
/**
*
* 모든 함수에 해당하는 클래스는 (Function)
* 프로토타입은 실제로 클래스 멤버의 컬렉션을 나타냅니다.
* *new를 통해 클래스의 객체를 얻을 때 프로토타입 객체의 멤버는 인스턴스화된 객체의 멤버가 됩니다.
*/
function class2(){ //객체 생성
}
var ob2 = new class2()
class2.prototype.me = function(){alert("123 ");} //프로토타입 앞에는 생성한 클래스 이름이 있습니다.
class2.prototype.name = "123"; //
/**
* 함수 객체와 기타 내부 객체의 관계
*/
//typeof (new Function()),typeof(Function),typeof(Array),typeof(Object)는 "function"이라는 문자열을 반환합니다. 이러한 매개 변수를 생성자
//typeof(new Date()), typeof(new Array()라고 합니다. ), typeof(new Object())는 문자열 "object"를 반환합니다.
/**
* 함수에 전달되는 암시적 매개변수: 인수. 배열의 특성을 가지지만 배열이 아니며 아래 첨자로 접근할 수 있습니다.
*/
//arguments에는 다음과 같이 함수 객체 자체에 대한 참조를 나타내는 매개변수 피호출자가 포함되어 있습니다.
var sum=function(n){
if(1==n)
return 1;
else
return n 인수.callee(n-1)
}
//이 문은 다음과 같이 네임스페이스1의 네임스페이스를 선언한다는 의미입니다.
varnamespace1 = new Object()
namespace1.class1 = function(){alert("123");}; var obj1=new 네임스페이스1.class1(); //페이지 로드 시 실행
/**
* 프로토타입 객체를 사용하여 클래스 멤버 정의
*/
//생성하는 문 다음에 클래스를 정의하려면 함수의 프로토타입 속성을 사용하세요. 인스턴스 New 멤버는 나중에 생성된 객체에만 유효합니다
//프로토타입의 constructor() 메서드는 생성자 메서드와 동일합니다
function class1(){
//alert('adf');
}
//class1.prototype.constructor(); //페이지가 로드될 때 실행
//프로토타입으로 정의된 단순화
class1.prototype={
//일부 넣기 속성 또는 메소드
//여러 속성 또는 메소드는 쉼표(,)로 구분됩니다.
}
//다음 코드는 정적 메소드 및 속성입니다
class1.name="abc"
class1.say = function(){/*codes*/}
//반사 메커니즘을 사용하면 요소에 지정된 스타일을 변경할 수 있지만 다른 스타일은 변경되지 않으며 원하는 결과를 얻을 수 있습니다. 예:
function setStyle(_style){
//스타일을 변경하기 위한 인터페이스 객체 가져오기
var element=getElement()
for(var p in _style){
element.style[ p]=_style [p];
}
}
//한 클래스의 프로토타입을 다른 클래스에 복사하여 상속을 얻을 수 있지만 여기에는 결함이 있습니다. 예:
// function class4(){}
//
// function class2(){
//
//
// class2.prototype=class4. 프로토타입 ; //구현의 상속
// class2.prototype.f = function(){alert("a");}
//
//class2의 프로토타입이 변경되면 class4의 프로토타입도 그에 따라 변경됩니다.
// 객체가 특정 클래스의 인스턴스인지 확인하기 위해 연산자:
var a = new class2()
a instanceof class2; ,
//더 나은 상속
for(var p in class1.prototype){
class2.prototype[p]=class1.prototype [p]의 class2에 상속된 클래스가 있는 경우에도 마찬가지입니다. ;
}
class2.prototype.ma=function(){
alert(123);
}
//class2의 프로토타입이 변경되면 class4의 프로토타입은 변경되지 않습니다.
/**
* 프로토타입-1.3.1 프레임워크의 클래스 상속 구현 메커니즘
*/
//----------------------------------- ------------------------------------- ----------
//각 객체에 확장 메소드를 추가하는 구문입니다.
Object.extend = function(destination, source) {
for ( 소스의 속성) {
destination[property] = source[property]; //소스의 모든 속성 또는 메서드를 대상에 할당
}
반환 대상
}
// Object 클래스를 통해 각 객체에 대한 확장 메서드
Object.prototype.extend = function(object) {
return Object.extend.apply(this, [this, object])
}
Object .extend.apply(this,[this,object]);
//class1은 class2에서 상속됩니다. 장점은 new class2()를 사용하는 것이 class2의 프로토타입 복사본을 class1에 할당하는 것과 동일하다는 것입니다.
/ /in class1 프로토타입에 대한 변경 사항은 class2의 프로토타입에 영향을 주지 않습니다.
class1.prototype=(new class2()).extend({/*class1에 추가할 속성 또는 메서드*/}); /**
* 선언만 하고 구현하지 않는 메소드입니다. 가상 함수가 있는 클래스를 추상 클래스라고 합니다.
*/
//가상 메소드는 선언 없이 바로 사용됩니다. 이러한 메서드는 파생 클래스에서 구현됩니다. 예:
function c1(){}
c2.prototype={
fun:function(){ this.fn();}//fn 메서드 거기서 정의되지 않음
}
function c2(){}
c1.prototype=(new c2()).extend({
fn:function(){var x = 1;}
});
//this.initialize.apply(this, 인수); 이 명령문은 객체 생성 시 매개변수를 초기화 메소드에 전달하는 것입니다
/***
* 자바스크립트에서는 try-catch-finally 문을 사용하여 예외나 오류 메시지를 캡처할 수도 있습니다.
* 그 중 catch(e)의 괄호 안의 e는 e라는 이름의 객체입니다. error.Object
* e=new Error(message) 이 객체를 생성하려면 예외에 대한 설명이 오류 객체
의 속성 메시지로 사용됩니다.*/
// 이 코드는 예외 발생을 보여줍니다
function s(a,b){
try{
if(b==0)
throw new Error("제수는 0이 될 수 없습니다! ... .. ...");
else
alert(a/b)
}catch(e){
document.write(e.message);///실제 값 가져오기 메시지 참조를 통한 오류
}
}
onlaod=s(1,0)

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。
