Sabemos que uma implementação completa de JavaScript precisa ser composta por três partes: ECMAScript (CORE), BOM (Modelo de Objeto do Navegador) e DOM (Modelo de Objeto de Document).
Hoje eu aprendi principalmente Bom e Dom.
Bom:
A BOM fornece muitos objetos para acessar as funções do navegador, que não têm nada a ver com o conteúdo da página da web (este é o negócio do DOM). Atualmente, BOM foi movido para a especificação HTML5 por W3C.
Objeto de janela:
O núcleo do BOM representa uma instância do navegador. É uma interface acessar a janela do navegador através do JavaScript e um objeto global especificado pelo ECMAScript. Isso significa que qualquer objeto, variável e função definido na página da Web possui janela como objeto global, por isso tem permissão para acessar métodos como o paresinint (). (Trecho da elevação III). Além disso, se uma página da Web contiver quadros, cada quadro possui seu próprio objeto de janela e será salvo na coleção de quadros (o índice 0 inicia, LTR, TTB).
Primeiro de tudo, variáveis e funções no ambiente de execução global são gêneros e métodos de objetos de janela. Obviamente, há uma pequena diferença entre variáveis globais e atributos de janela diretamente definidos. Variáveis globais (para serem precisas, elas devem ser explicitamente declaradas variáveis globais) não podem usar a exclusão, enquanto os atributos da janela são bons. Além disso, há outro detalhe para observar que tentar acessar variáveis não declaradas errará, mas não há problema em usar objetos de consulta.
Então, quais são as propriedades ou métodos comuns de janela?
1.Nome, cada objeto de janela possui um atributo de nome, que contém o nome do quadro. Geralmente para entender os relacionamentos e estruturas de janelas.
2. Método da posição da janela: Moveto (coordenada x da nova posição, coordenada y da nova posição), Moveby (movimento horizontal x, movimento vertical y). Esses dois métodos não se aplicam à estrutura.
3. Atributos do tamanho da janela: Innerwidth/altura (tamanho da área de visão (menos a largura da borda)/ *ie, safari, Firefox */), Outerwidth/altura (retorna o tamanho da janela do navegador/ *ie, safari, Firefox */). No Chrome, interno e externo retornam o tamanho da área de vista.
Obviamente, você pode alterar o tamanho da janela por Resizeto (nova largura da janela, nova altura da janela), redimensionar (até a largura original e aumentar y em comparação com a altura original). Este método de canção de amor não se aplica à estrutura da estrutura.
4.window.open (URL, destino da janela, string de recursos, se a nova página substitui o booleano da página atualmente carregada no histórico do navegador) é usado para navegar para um URL específico ou abrir uma nova janela. Se o alvo da janela for especificado e o destino da janela for o nome de uma janela ou quadro existente, o URL especificado será carregado na janela ou quadro que foi renomeado. Caso contrário, a nova janela que abre será nomeada como a janela de destino. Obviamente, as palavras -chave que os alvos de janela podem especificar são _, _parent, _top, _blank.
<a href = // www.vevb.com> Clique em mim </a> <cript> var link = document.getElementsByTagName ("a") [0]; alerta (link.nodename); window.onload = function () {link.OnClick = function () {window.open (link.href, "bom", "largura = 400px, altura = 300px"); retornar falso; }} </scriptAs configurações específicas da sequência de recursos não são detalhadas aqui. Se você estiver interessado, pode clicar aqui
5. Como uma linguagem de tibra única, o JS ainda permite definir valores de tempo limite (execução do código após o evento especificado) e valores de tempo de intervalo (loop uma vez a cada tempo especificado) para agendar a execução do código em um momento específico.
Chamada de tempo limite: Settimeout (String JS Code, tempo de milissegundos). Como um idioma de thread único, a fila de tarefas JS pode executar apenas uma peça de código por vez. Se a fila de tarefas estiver vazia após o intervalo de tempo definido, a sequência de código será executada. Caso contrário, você deve esperar até que o código anterior seja executado antes de executar.
var al = setTimeout (function () {alert ("bom");}, 5000); alerta (Al); // 2Aqui, chamei uma função anônima após 5 segundos para produzir bem. Uma caixa de aviso apareceu na janela para mostrar 2. Pode -se observar que a função setTimeout () retorna um ID numérico, que é único. Em seguida, podemos limpar a chamada de tempo limite através deste ID e usar o ClearTimeout (ID) para limpá -lo.
Chamada indireta: setInterval (), os parâmetros que aceita são os mesmos que setTimeout () e também retorna um ID numérico e limpo com o clearTimeout ().
6. Caixa de diálogo do sistema Métodos: alert (), confirm (), prompt (), etc. são escritos no meu blog anterior, clique aqui
objeto de localização
Em vez de ser um objeto no nascido, o local é uma propriedade no objeto da janela. Obviamente, também é propriedade do objeto de documentos no DOM que será discutido posteriormente. Isto é, window.location e document.Location consulte o mesmo objeto.
Lista de atributos do objeto de localização, modificar esses atributos pode carregar uma nova página e gerar um novo registro no histórico. O uso de localização.replace () não gerará mais novos registros em registros históricos.
| Hash | "#conteúdo" | Retorna hash em url, não "" |
| hospedar | "www.google.com" | Retorna o nome do servidor e o número da porta (se houver) |
| nome do host | "www.google.com" | Retorna o nome do servidor sem número da porta |
| Href | "www.google.com" | Retorna o URL completo da página atual e as chamadas atribuem () |
| Nome do caminho | ''/wileycda/' | Retornar ao nome do diretório |
| porta | "8080" | Retorna o número da porta, se não, retorna uma corda vazia |
| protocolo | "Http:" | Retorne ao protocolo usado pela página |
| Procurar | "? = JavaScript" | Retorna a sequência de consulta, começando com um ponto de interrogação |
Objeto de navegador: um padrão de fato usado para identificar navegadores, e suas propriedades e métodos são usados principalmente para detectar tipos de navegador.
O restante é como objetos históricos (salvar registros históricos) e objetos de tela (mostrando recursos do cliente). Como a programação no JS não é muito eficaz, não os repetirei.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dom:
O DOM é uma API que é estendida para HTML com base no XML, e o DOM conta com as árvores de nó para expandir.
Primeiro de tudo, é necessário deixar claro que o nó do documento é o nó raiz de cada nó. O nó do documento possui e apenas um nó filho, a saber, o HTML (elemento do documento).
Tipo de nó:
Uma interface no DOM1 é implementada por todos os tipos de nós (nós de texto, nós de atributo, nós de elemento) e essa interface é implementada como um tipo de nó no JS.
Atributo NodeType, de propriedade de cada nó. Denotado por 12 valores numéricos, elemento-1, atributo-2, texto-3 ...
NodeName Attribute, para o nó do elemento Nó, o valor do Nodename é o nome do rótulo.
atributo nodevalue, para o nó de elemento nó, o valor do nodEvalue é nulo.
Relacionamento do nó: Cada nó possui o atributo ChildNodes, que salva o objeto NodeList (objeto de matriz de classe). Cada nó possui uma propriedade parentnode, apontando para o nó pai. Os nós nos Childnodes têm o mesmo pisê -ico. Use as propriedades anteriores e próximas para acessar nós irmãos. Ao mesmo tempo, ChildNodes [0] == FirstChild, ChildNodes [ChildNodes.Length-1] == LastChild.
Nó de operação: AppendChild (), empurre um nó para o final da lista de nodelas e retorne o nó recém -adicionado. insertBefore (), retorne um nó ao cabeçalho da lista nodelista e retorne um novo nó. Replacechild (Newchild, TargetChild), substitui o nó de destino. O nó original ainda está no documento, mas não há localização. RemoveChild (Tragetchild), remove o nó e o efeito é semelhante ao replacechild (). CLONECHILD (booleano), quando verdadeiro, significa replicação completa (todo o nó e nó filho), false significa replicação básica.
Tipo de documento:
Representa um documento, o objeto do documento é uma instância do HTMLDDocument (herdado do tipo de documento), representando toda a página HTML. Ao mesmo tempo, o objeto Douent também é uma propriedade do objeto da janela, para que possa ser acessado como um objeto global. document.firstchild == html. document.body == Body. document.doctype ---> referência a <! doctype>. Doucment.title ---> document.url ---> location.url.
Encontre elementos: getElementById (), getElementsByTagName (), getElementsByClassName ().
Redação de documentos: write (), writeln (), Open (), Close ()
Tipo de elemento:
getAttribute (), obtenha o recurso para a classe, use "classe", em vez de classname e atributo de classe pode ser obtido ao usar o element.className.
SetAttribute (), define o recurso, se o recurso existir, substitua -o. Caso contrário, crie.
removeattribute () remove completamente as características do elemento.
createElement (), crie um novo elemento.
Tipo de texto:
CreateTextNode (), cria nós de texto. Se um nó de texto estiver conectado a um nó compatriota vizinho, os dois textos serão conectados sem espaços.
A composição do artigo acima do JavaScript ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------